temporary-objects

    3热度

    1回答

    我仰视上cppreference.com lifetime of a temporary,我发现的东西从C++ 14改变在构件初始化列表绑定到一个基准部件的临时对象的: 每当引用绑定到一个临时的或到的 临时基类子对象,临时的寿命延长到 寿命的基准的匹配,但有以下例外: ... 一个临时的参考构造函数初始值设定项列表中的e成员仅在构造函数退出前持久存在,而不存在于对象存在时的 。 (注:如初始化形成

    2热度

    1回答

    我有一个网站,其视频URL始终被吸引。我使用JWPLAYER为托管在谷歌云存储上的视频提供视频。我的网站非常多,我的视频被盗链。我想为临时视频采用临时网址。我需要做什么?我应该阅读哪些简单的实施指南?

    1热度

    2回答

    我下面这个教程 - http://www.learncpp.com/cpp-tutorial/132-function-template-instances/ // passing all parameters by references template <typename T1, typename T2> const T2& add_two_objects(const T1& x,cons

    0热度

    1回答

    我需要一些关于const引用的说明。 从this link: const Foo &myFoo = FuncBar(); const引用扩展本地对象的寿命。但是,当我检查this link虽然他们使用const引用 Sandbox(const string& n) : member(n) {} 串的一生“四个一”并没有增加。 Sandbox sandbox(string("four"));

    -3热度

    2回答

    当我运行下面的代码: std::string myString = "I'm a string."; const std::string::iterator &myIterator = ++myString.begin(); char c = *myIterator; std::cout << c << std::endl; 我得到一个分段错误(O3带编译优化)。我认为这是因为++运营商

    10热度

    2回答

    在C++中(如果错误,请纠正我),通过常量引用的临时绑定应该超过它所绑定的表达式。我认为Rust也是如此,但在两种不同的情况下,我得到了两种不同的行为。 考虑: struct A; impl Drop for A { fn drop(&mut self) { println!("Drop A.") } } struct B(*const A); impl Drop for B { fn d

    0热度

    2回答

    我想要下面的代码创建5个类“test”的对象,每次创建时调用构造函数,将它们存储在一个向量中,打印“lalalala”一次,然后运行析构函数并销毁创建的对象。我希望析构函数为我创建的每个对象运行一次,但不要超过一次。 我认为在下面的例子中,C++创建了多个不需要的对象的副本,否则它会调用析构函数多次。我不确定。试过海湾合作委员会和铿锵没有区别。尝试堆栈和堆分配,以及std :: move。所有产生

    1热度

    1回答

    最近我看到一个代码审查过程中下面的代码片段: const QString& temp("some text"); const QString& temp1("some text1"); (...) if (temp == "whatever") { } // etc 因为这样的临时看起来有点奇怪,我只是想询问是否有人可以解释什么是这种方式构建对象的优缺点?我只想去寻找cons

    5热度

    3回答

    我正在用指针实现方式在不可变对象上实现装饰器模式。基本上我的设置是这样的 struct Object : ObjectBase { void doSmth() override { impl->doSmth(); } // this is the function I'd like to implement Object decorateWith

    2热度

    2回答

    是这样的: auto& ref1 = *it++; ref1 = expression; // (1) 为前向迭代所需的语义的一个?那么随机访问迭代器呢? auto& ref1 = it[3]; ref1 = expression; // (2) 根据cppreference,正向迭代器必须: // Return reference, which equals to (const) v