相关疑难解决方法(0)

在C++中实例化对象的不同方法

这有什么区别:

Myclass *object = new Myclass();
Run Code Online (Sandbox Code Playgroud)

Myclass object = new Myclass();
Run Code Online (Sandbox Code Playgroud)

我已经看到很多C++库如wxWidgets,OGRE等使用第一种方法......为什么?

c++ object

44
推荐指数
6
解决办法
8万
查看次数

为什么调用复制构造函数而不是转换构造函数?

所以基本上这段代码:

class A {
};
class B { 
   B (const B& b) {}
public: 
   B (){}
   B (const A& a) {} 
};

int main()
{
   A a;
   B b1(a);  //OK
   B b2 = a; //Error
}
Run Code Online (Sandbox Code Playgroud)

只生成一个错误B b2 = a.那个错误是

错误:'B :: B(const B&)'是私有的

除了直接转换构造函数之外,为什么还要尝试调用复制构造函数?

从错误消息中可以清楚地看到B创建了一个临时文件然后用于复制构造,但为什么呢?这个标准在哪里?

c++ copy-constructor

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

c ++:实例化对象

可能重复:
C++对象实例化与分配

我对C++很陌生,并想知道实例化对象之间的区别(如果有的话)

int main () {
  vector< int > x(2);
}
Run Code Online (Sandbox Code Playgroud)

要么

int main () {    
  vector< int > x = vector< int > (2); 
}
Run Code Online (Sandbox Code Playgroud)

除了后者需要更长的时间来写.提前致谢!

c++ object instantiation

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

标签 统计

c++ ×3

object ×2

copy-constructor ×1

instantiation ×1