constructor相关内容
我想在栈中构造一个对象,使用C ++。 你知道这些方法与调用构造函数(带和不带括号)的区别是什么: a) MyClass object; b) MyClass object(); 我使用MFC和构建主应用程序的全局变量,如果我使用后一种方式,我得到一个异常,我认为这两种方式 感谢您提供任何资讯。 解决方案 是C ++的那些陷阱之一。 MyClass o
..
编译c ++文件(使用全局静态对象)后,我在 nm 中输出此函数: 00000000 t _Z41__static_initialization_and_destruction_0ii __static_initialization_and_destruction_0(int,int)/ * c ++ filt之后* / 这是什么?它将调用 __ cxa_atex
..
class A { A(int a = 5){ DoSomething(); A(); } A(){...} } 第一个构造函数是否可以调用第二个构造函数? 解决方案 不要之前的C ++ 11 。 将公共功能提取到单独的函数中。我通常命名这个函数 construct() “所谓的”第二个调用将编译,但在C ++中有不同的含义:它会构
..
是否可以使用其构造函数重新初始化类的对象? 解决方案 给定A类: A a; ... a = A(); 最后一个语句不是初始化,它是赋值,但它可能是你想要的。 p>
..
如果我声明一个类 Foo 如下,那么是CONSTRUCTOR和DESTRUCTOR内联函数? class Foo { int * p ; public: Foo(){p = new char [0x00100000]; } 〜Foo(){delete [] p; } }; { Foo f; (f); } 解决方案 定义构造函数INSIDE在类中
..
我想知道我的构造函数的最佳形式。下面是一些示例代码: class Y {...} class X { public: X(const Y& y):m_y(y){} //(a) X(Y y):m_y b) X(Y& y):m_y(std :: forward(y)){} //(c) Y m_y; } Y f(){return ...} in
..
我有以下练习: 添加代码,使其正常运行。 class MyInt { public: private: int * MyValue } int main(int argc,char ** argv) { MyInt x(1); ... //更多的代码,其中x的实际值将被使用。 return 0; } 我作为私有属性添加
..
我有一个在C ++中的默认构造函数的问题。这是一个简单的事情,但不能看到它有什么问题。 我有一个构造函数有3个可选参数,初始化列表中的const值: data :: data(int D = 1,int M = 1,int Y = 1583):Day年份(Y) { if(!CorrectDate())throw“错误日期! } 为什么我可以用一个,两个或三个参
..
以下代码使用 g ++ -I无缝编译。 -std = c ++ 0x -Wall -g -Werror * .cpp -o main -std = c ++ 0x开关,它表示 main.cpp:在构造函数'Out
..
我试图实现一个面向对象的二叉树,但是,我得到一个重载的构造函数的调用的错误消息是不明确的。问题是,我真的有必要的构造函数,但C ++似乎不认识它。 我的代码: http://pastebin.com/PM9PDYAN 错误讯息: 56 36在构造函数'Node :: Node(const int& amp; amp; amp; amp; amp; amp; amp; amp;
..
可能重复: 检测动态分配的对象? 略有不同的结构,它的实例被静态或动态分配。 对象应该只有一个默认构造函数。因此,有两个构造函数,每个情况一个,并让用户明确选择正确的构造函数是不成问题。 有什么正确的方法来实现这个? / p> 这就是我现在这样做的方法: 我重载该对象的new运算符,malloc的内存,并使用返回的指针作为指针(尚未初始化)实例,并将对象的特定数据成员设
..
我阅读了这里如果键不存在,则std :: map运算符[]创建一个对象! (虽然我知道这是真的) 接下来,想象下面的代码片段: / p> #include #include #include 类值{ // .. int some_member; //用于任何你喜欢的目的 std :: vector
..
这不是模板构造函数或调用继承的模板构造函数的问题的重复。 它具体涉及在类的子类中调用继承的构造函数 问题 为了使代码更容易理解,我在此示例中使用使用: using B = std :: unique_ptr class int_ptr:public B { int_ptr(int * b):B(b,& ::
..
#include #include using namespace std; struct CL { CL(){} CL(std :: initializer_list){cout
..
我想弄清楚这两行代码之间的区别。 我们给出的“Count”是我们的类名,C1和C2该类的对象。 计数C2(C1); //语句1 计数C2 = C1; //语句2 没有提供其他信息。这两行调用的拷贝构造函数有什么区别? 解决方案 $ b 在语法层面,第一个称为“直接初始化”,第二个称为“复制初始化”。如果 Count 是类类型(即不是 int 的ty
..
家伙。我看到几个例子: class Derived:public Base { public: Derived(...):Base(...){} } 什么情况或有什么原则,我们应该显式初始化基地在Derived ctor初始化列表?感谢 解决方案 如果我们需要将派生构造函数的参数传递给基础构造函数,那么可以使用它。 class foo {
..
我需要帮助的东西真的很简单,这C ++使得很难。我创建了一个类,lattice,目的是初始化和处理一个矩阵。有以下私人成员: 私有无符号dim; private double matrix [dim] [dim]; 我想通过参数初始化类的构造函数中的变量dim,继续返回错误。我试图使昏暗的公共和静态和初始化它在主程序,但仍有问题。如何创建这个简单的类? 此外,
..
我在调试生产中的崩溃时很难。只是想与这里的人们确认语义。我们有一个类... ... class Test { public: Test() { //成员初始化... m_str = m_str; } 〜Test(){} private: //其它成员... std :: string m_str; }; 有人更改了初始化以使用ctor初始化列表
..
我有一个关于C ++标准的问题。 假设你有一个基类有用户定义的拷贝构造函数和赋值运算符。派生类使用编译器生成的隐式类。 派生类的复制/分配是否调用用户定义的复制构造函数/赋值运算符?或者您需要实现调用基类的用户定义版本吗? 感谢您的帮助。 解决方案 如果派生类没有声明一个复制构造函数,隐式的一个将被声明(12.8 / 4”复制类对象“) - 即使基类有一个用户delcar
..
我仍然困惑在C ++ 11中使用 std :: vector 的类型的要求,但这可能是由错误的编译器(gcc 4.7.0)。此代码: struct A { A():X(0){std :: cerr一个; a.r
..