小编Hem*_*lin的帖子

外部未命名结构对象定义

我有一个“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':重新定义;不同的基本类型”。谢谢。

c++ struct global-variables extern

6
推荐指数
1
解决办法
2067
查看次数

std :: vector是否适合频繁调整大小?

我正在创造一个我有小"粒子"的游戏.它们的数量经常变化(每隔几秒钟),我想知道存储它们的最佳方法是什么.是std::vectorstd::deque为了这个美好的?

是否可以保留永远不会被使用的空间(在那个容器中)(我有上限)?

c++ stl resize vector code-design

4
推荐指数
1
解决办法
305
查看次数

自我记录代码是否值得潜在的性能问题?

我创建了一个小类,允许我使用强类型枚举的枚举器作为标志(组合).我正在使用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++ enums templates self-documenting-code enum-class

4
推荐指数
1
解决办法
244
查看次数