我有一个“unnamed-struct”类型的全局对象,我正在尝试定义它。我不想用这种无用的类型污染我的全局命名空间(它只会使用一次)。
全局.h
extern struct {
int x;
} A;
Run Code Online (Sandbox Code Playgroud)
有没有正确的方法来定义这样的对象?
我正在尝试这个:
全局.cpp
struct {
int x;
} A = { 0 };
Run Code Online (Sandbox Code Playgroud)
但是 VS2012 抛出“错误 C2371:'A':重新定义;不同的基本类型”。谢谢。
我正在创造一个我有小"粒子"的游戏.它们的数量经常变化(每隔几秒钟),我想知道存储它们的最佳方法是什么.是std::vector或std::deque为了这个美好的?
是否可以保留永远不会被使用的空间(在那个容器中)(我有上限)?
我创建了一个小类,允许我使用强类型枚举的枚举器作为标志(组合).我正在使用type_traits进行底层类型检测,因此它应该是稍微类型安全的,并且主要在编译时处理.但是,我想知道它是否真的值得.
我现在可以写一些像
void Foo(Flags<Mode> Value);
Run Code Online (Sandbox Code Playgroud)
并且程序员将看到他只能使用Mode中的枚举器(例如Mode :: Read),并且他也不能将任何其他枚举与Mode结合使用.你觉得它比...更好吗?
void Foo(int Mode);
Run Code Online (Sandbox Code Playgroud)
,我不确定人们是否能欣赏它?
c++ ×3
code-design ×1
enum-class ×1
enums ×1
extern ×1
resize ×1
stl ×1
struct ×1
templates ×1
vector ×1