模板函数:C++ 中默认构造,无需复制构造;
考虑 struct C { C() { printf("C::C()\n" ); } C(int) { printf("C::C(int)\n" ); } C( const C& ) { printf("copy-constructed\n"); } }; 到模板函…
C++0x:Lambda 按值捕获,始终是副本?
编译器是否允许消除按值捕获所需的副本? vector movie1; apply( [=movie1](){ return movie1.size(); } ); 有没有什么情况编译器不需要复制movie1? …
C++这里调用了复制构造函数吗?
假设你有一个这样的函数: Foo foo() { Foo foo; // more lines of code return foo; // is the copy constructor called here? } Foo bar() { // mor…
仅使用基类指针复制派生实体(无需详尽的测试!) - C++
给定一个由大量派生类继承的基类,以及一个需要您通过指向每个实体的基类指针来管理这些派生类的程序结构。当只知道基类指针时,是否有一种简单的方法…
自动生成默认/复制/移动向量和复制/移动赋值运算符的条件?
我想刷新我对编译器通常自动生成默认构造函数、复制构造函数和赋值运算符的条件的记忆。 我记得有一些规则,但我不记得了,而且也无法在网上找到信誉…
C++ 中隐式定义的复制构造函数是否有效?也为成员调用复制构造函数,对吗?
只是想仔细检查 C++ 类的默认(由编译器隐式定义)复制构造函数是否对每个成员变量执行复制构造函数,并使用旧值获取每个成员的复制值,而对于原子对…
构造函数 Foo::Foo 接收对 Foo 的引用,但不接收复制构造函数
假设我有一个不可复制类Foo, 并且它的构造函数之一恰好收到了对 Foo 的引用。 class Foo { public: Foo(Foo& parent) {...} private: void operator=…
为什么通过 const 引用传递临时值时会调用复制构造函数?
我将一个未命名的临时对象传递给使用 const ref 参数定义的函数。该类的复制构造函数是私有的,我收到编译错误。我不明白为什么在这种情况下调用复制…
以自身为参考构造对象?
我刚刚意识到这个程序可以编译并运行(gcc 版本 4.4.5 / Ubuntu): #include using namespace std; class Test { public: // copyconstructor Test(c…
一起使用 boost::bind、boost::shared_ptr 和 boost::thread 时不会调用复制构造函数
我正在使用 boost::bind 创建一个新的 boost::thread,并将其存储在 boost::shared_ptr 中。 我将函数和参数传递给boost::thread,但是当线程启动时,…
有没有办法检查在 C++ 中复制或分配对象是否安全?
我有以下问题。我正在一个必须用 c++ 执行的程序中使用 C 库 igraph (http://igraph.sourceforge.net/)。所以我找到了这个 C 库的 C++ 包装器 (http:/…
派生类的初始化列表上的基类复制构造函数 (C++)
举个例子: class Base { Base (const Base & copyFrom) { globalRegister (* this); } } class Derived { Derived (const Derived & copyFrom) : Bas…