如何做"Type Definition"
How to do "Type Definition"
我正在使用数学库 Eigen,我在很多文件中使用了很多具有模板类型Eigen::Vector<T, -1, 1>
的动态vector
。使用这种表示法,我的代码非常密集,所以我有两个问题:
我应该做一个类型定义,以便使用 Vector<T> = Eigen::Vector<T, -1, 1>
获得更短、更合适的代码吗?但是通过这种修改,我的代码将更难理解。
如果我做这个类型定义,我应该在哪里做?因为我使用外部库(Eigen),所以修改库文件不是一个好的解决方案,但是为此的自定义文件看起来很脏。
学会爱上冗长的符号Eigen::Vector
。这样,您就可以确切地知道自己在处理什么。
从长远来看,使用 using
语句(尤其是在头文件中)往往会导致代码更难阅读(你能记住你指的是哪个命名空间吗?),并且还会导致潜在的命名空间冲突。
相同的样式适用于 std
命名空间中的事物。
相关文章:
- 使用 [] 运算符时"binding reference of type discards qualifiers"
- 在 QVector<std::unique_ptr 上使用 std::find<Type>>
- 在类型和包装器之间reinterpret_cast是否安全<Type>?
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 控制到达非空函数clang(-Wreturn-type)的末尾
- std::unordered_map 类型对象声明期间出现"field has incomplete type"错误
- 将系数存储在头文件的数组中("does not name a type"错误)
- 尝试打开 ifstream 时出现"Incomplete type"错误
- 为什么'Go To Definition'给我多种选择?
- 将成员函数作为构造函数参数调用时出错 "Variable is not a type name"
- Pybind11 Class Definition
- 在"结构提升::enable_if<提升::is_pod<T>,无效>"中没有名为"type"的类型
- "Missing type specifier - int assumed"无法通过向主函数添加"return 0"来解决
- OpenCV CV_16F type
- C++ "错误:在'类 std::result_of< ... >"中没有名为'type'的类型"
- 将内存分配返回值强制转换为 TYPE 数组
- C++ 一个lambda浅拷贝const Type&如果它被赋予一个命名捕获,如[copy=val](){}?
- reference_wrapper导致"incomplete type is not allowed"
- 是否有用于"go to variable type definition" C++中"auto"变量的 Visual Studio 键盘快捷方式?
- 如何做"Type Definition"