C++初学者新术语?
答
POD,普通老式数据,是具有在C.等效
CV-限定的类型是已经合格或者作为const或挥发性一类型的任何C++类型。
// non cv_qualified
int one;
char *two;
// cv-qualified
const int three;
volatile char * four;
POD类型的数据成员必须是公开的,并且可以是任何的原始类型:布尔,数字类型,枚举类型,数据指针类型,指针到功能类型,也根据任一前述的阵列。
struct A //POD
{
int n;
double y;
};
struct B //non-POD
{
private:
int n;
double y;
};
答
POD代表普通老式数据类型。它通常指的是一个用来存放数据和存取器的类 - 没有别的。它也暗示该函数没有vtable,这意味着该类没有多态成员。这些在轻量级对象中很受欢迎,因为您不想为多态类开销付出代价。
CV-合格。 C = CONST,V =挥发性。
答
很不错的文章有什么东西在C++中,使得C++类型 非等价到c - 拉库玛
由于CMS说,一个POD类型是具有一个C++型相当于C:所以,它必须遵循C使用了相同的规则:
- 初始化
- 复制
- 布局
- 寻址
C++的类型应不具有任何构造,绝不重载赋值运算符,必须不具有虚函数,基类,析构函数,并且还非静态成员是私有的或受保护的。
,我觉得什么东西在C++中,使得C++型非等价到c – yesraaj 2009-01-02 04:59:19
POD类型是递归定义。您的定义不包括“或任何其他POD类型”。 – Arkadiy 2009-01-02 14:08:53