C++ 用于我在项目中使用的所有数据类型的特殊类

C++ 用于我在项目中使用的所有数据类型的特殊类,c++,class,typedef,C++,Class,Typedef,我在项目中使用以下数据类型: std::vector<std::shared_ptr<float>>; std::vector<std::shared_ptr<string>>; pair<std::vector<string>,double>; 你觉得这种做法怎么样 从我的理解中得出结论: 1-当类作为模板类型传递时,最好使用typedef(Konrad Rudolph) 2-不要滥用共享的PTR(C++不是JAVA)

我在项目中使用以下数据类型:

std::vector<std::shared_ptr<float>>;
std::vector<std::shared_ptr<string>>;
pair<std::vector<string>,double>;
你觉得这种做法怎么样


从我的理解中得出结论:

1-当类作为模板类型传递时,最好使用typedef(Konrad Rudolph)


2-不要滥用共享的PTR(C++不是JAVA)好的

你可以这样做,就像在中一样,它编译并可以工作

但是你为什么要这样做呢?在这种一般形式下,它似乎没有任何意义。您是否正在尝试使用类作为命名空间


总的来说,这是对课堂设计缺乏思考的表现。您似乎只有很少的类型,没有明确指定的用途,而且您显然以完全不合适的方式使用(共享)指针。

您应该改用名称空间:

namespace Foo

其余的都一样(跳过最后一个分号)。名称空间更适合您这样的情况。

如果我是您,我不会将其放在类中,您可以在单独的.h文件中定义类型,并将该文件包含在需要类型的任何地方。如果您想更好地组织它们,请使用名称空间。为什么您首先要有指向浮点、字符串的指针?@John Dibling因为我想在运行时加载一个浮点值文件?@HaniGoc:这并不说明需要指向值的指针。顺便说一句,您应该在这些声明的末尾在>>之间留出一个空格,它会给重载>>运算符(如整数)的类型带来麻烦。你的意思是我应该在设计中达到这个级别,专门为类型创建一个类吗?共享的prt是因为我想在运行时加载一个浮点值文件?不一定,但为数据创建一个新类型通常既简单又便宜,这使得代码更容易理解。一般来说,我认为将typedef(或类型定义)放入类中是没有意义的,除非该类应该作为模板类型传递。
shared_ptr
部分无论如何都是错误的。直接使用值。好的,我明白。共享的prt怎么样?我在滥用它们?即使是在运行时?
namespace Foo