小编Jar*_*koL的帖子

在size_t和unsigned int之间绘制线的位置?

我目前正在将我的代码库中的一些用法转换unsigned intsize_t我多年来一直在开发的代码库.我理解两者之间的区别,例如unsigned int,指针可能是32位,size_t可能是64位.我的问题更多的是关于我应该使用哪一个以及人们用来在两者之间进行选择的约定.

很明显,内存分配应该取size_t而不是unsigned int作为参数,或者容器类应该size_t像STL一样用于大小和索引.这些是在阅读size_tvs 的好处时提到的常见案例unsigned int.但是,在进行代码库转换的过程中,我偶然发现了灰色区域中的不少情况,我不确定使用哪种情况.例如,如果4x4矩阵行/列索引应该是size_t一致的,无论索引是否在范围[0,3]中,或者屏幕/纹理分辨率应该使用size_t尽管在几千的范围内,或者一般如果合理的数量为对象应该在数十个范围内,我仍然应该使用它size_t来保持一致性.

你用什么样的编码约定来unsigned int和之间进行选择size_t?表示大小(字节或对象)或索引的所有内容是否始终size_t与合理预期的范围无关?是否有一些被广泛接受的size_t惯例用于完善的图书馆,我可以遵循?

c c++ conventions

16
推荐指数
1
解决办法
1051
查看次数

Clang:在类中定义的友元函数

我有一个类,它在类中声明和定义了一个友元函数,我从类中的另一个函数调用这个函数.Clang编译器(3.3)抱怨友元函数的未声明标识符.我用MSVC和gcc编译了这个代码,它适用于两个编译器,但现在使用Clang端口我遇到了这个问题.以下是该问题的简化示例:

class foo
{
  friend void bar() {}
  void asd() {bar();}
};
Run Code Online (Sandbox Code Playgroud)

在Clang我得到:error : use of undeclared identifier 'bar'.如果我在类之外声明/定义pla(),它工作正常,但我有一些宏迫使我在类中定义函数.这是Clang中的一些已知问题,还是Clang对C++名称查找更加迂腐,同时仍符合C++标准?在定义/声明类中的函数时,是否有一些已知的解决方法?

c++ clang

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

标签 统计

c++ ×2

c ×1

clang ×1

conventions ×1