c++ - 用一个不平凡的构造函数初始化一个联合

c++ - 用一个不平凡的构造函数初始化一个联合

我有一个结构,我创建一个自定义的构造函数来初始化成员为0。 我在旧的编译器中看到,在发布模式下,如果不将memset设置为0,则值不会被初始化。 我现在想在联合中使用这个结构,但因为它有一个不平凡的构造函数而得到错误。 所以,问题1.默认的编译器是否实现了构造函数保证一个结构的所有成员都将被初始化为空? 非平凡的构造函数只是将所有成员的memset设置为“0”,以确保结构清晰。 问题2:如…


是否有C#不区分大小写的等号运算符?

我知道以下区分大小写: if(StringA== StringB){那么是否有一个运算符会以不敏感的方式比较两个字符串?…


c++ - 什么是在类构造函数中声明的变量的范围?

我很好奇在类构造函数中声明的变量的范围是不是该类的数据成员? 例如,如果一个构造函数需要迭代int i,这个变量会在构造函数完成后被销毁,还是在程序中是全局的呢? 谢谢!…


c++ - 为什么我更喜欢使用成员初始化列表?

我偏爱使用构造函数使用成员初始化列表...但是我早已忘记了背后的原因...... 你在构造函数中使用成员初始化列表吗? 如果是这样,为什么? 如果不是,为什么不呢?…


c++ - 构造函数初始化-列表评估顺序

我有一个构造函数需要一些参数。 我曾假设它们是按照列出的顺序构建的,但在一个案例中,它们似乎正在被反向构建,导致中止。 当我颠倒了争论时,程序停止了中止。 这是我使用的语法的一个例子。 事情是,在这种情况下,a_需要在b_之前初始化。 你能保证施工的顺序吗? 例如 class A{public: A(OtherClass o, string x, int y):…


c++ - 初始化列表的好处

我所知道的使用初始化列表的好处是它们在初始化非内置的类成员时提供了效率。 例如, Fred::Fred():x_(whatever){} 比较好, Fred::Fred(){x_=whatever;}如果x是自定义类的对象。 除此之外,为了保持一致性,这种风格甚至与内置类型一起使用。 这样做的最常见好处是提高了性能。 如果表达式与成员变量x_的类型相同,那么任何表…



c++ - 在构造函数初始化列表中添加元素到STL地图?

我想知道这是否可能,如果是的话,我会怎么做。 如果这是不可能的,我只需要在构造函数体中添加元素。 理想情况下,我想建设后的地图不可变。 我想要实现的是添加两个对构造函数参数创建的地图。…


c++ - std:: map扩展初始化列表的外观是什么样的?

如果它甚至存在, std::map扩展初始化列表会是什么样的? 我已经尝试了一些组合......好吧,我能用GCC 4.4想到的一切,但没有发现任何编译。…


c++ - 在初始化列表中调用函数是否有任何问题?

我正在写这个拷贝构造函数://CCtor of RegMatrix RegMatrix::RegMatrix(const RegMatrix &other){ this-> numRow=other.getRow(); this-> numCol=other.getCol();//Create_matrix…


c++ - 在构造函数初始值设定项中初始化一个成员数组

class C{public: C():arr({1,2,3})//doesn't compile{}/* C():arr{1,2,3}//doesn't compile either{}*/ private: int arr[3];}; 我相信原因是数组只能用=语法来初始化,即: int arr[3]={1,3,4}; 问题 我…




构造函数初始化变量 默认构造函数初始化 类成员初始化 必须在构造函数初始化式里进行初始化的数据成员有哪些 初始化 数组初始化列表 11类初始化 11数组初始化 构造函数逗号 11初始化列表