怎么做 "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
命名空间中的内容。
我正在使用 Eigen 数学库,并且在很多文件中使用了很多模板类型为 Eigen::Vector<T, -1, 1>
的动态 vector
。使用这种表示法,我的代码非常密集,所以我有两个问题:
我是否应该进行类型定义,以便使用 Vector<T> = Eigen::Vector<T, -1, 1>
获得更短、更合适的代码?但是我的代码修改后会更难理解。
如果我做这个类型定义,我应该在哪里做?因为我使用外部库 (Eigen) 修改库文件不是一个好的解决方案,但是专门为此定制的文件看起来很脏。
学会喜欢冗长的符号Eigen::Vector
。这样,您就可以确切地知道自己在处理什么。
使用 using
语句,尤其是在头文件中,往往会导致代码 更难 在长 运行 中阅读(你能不能还记得你指的是哪个命名空间吗?),并且还会导致潜在的命名空间冲突。
相同的样式适用于 std
命名空间中的内容。