11得票2回答
std::string参数的rvalue

当我传递文本时,以下代码中的LVALUE和RVALUE在实践中有什么区别?我的意思是,在这种特定情况下使用RVALUE(&&)是否有任何好处?void write_Lvalue(const std::string &text) { //... } void write_Rva...

11得票5回答
在临时数据方面,将数据存储在Session中还是Sql数据库中?

我想知道哪种方式更有效,是使用PHP中的$_SESSION变量将临时数据(与该会话相关)存储在会话中,还是从SQL数据库中存储和检索? 谢谢您的时间。

10得票4回答
在C++中,返回一个临时对象是否会创建另一个临时对象?

考虑以下C++代码:struct A {A(int);}; A foo() {return static_cast<A>(0);} A x = foo(); 这里static_cast<A>(0)根据标准[5.2.9-4]创建了一个临时对象,是一个prvalue。而标准...

10得票2回答
逗号分隔表达式中的析构函数调用

考虑以下示例程序: #include <iostream> using namespace std; struct t { ~t() {cout << "destroyed\n"; } }; int main() { cout << "te...

10得票6回答
禁止将实例化作为临时对象 (C++)

我喜欢在C++中使用哨兵类,但似乎我有一种精神障碍,会导致我反复编写以下错误的bug:{ MySentryClass(arg); // ... other code } 无需多言,这段代码失败了,因为哨兵被创建后立即死亡,而不是在预期的作用域结束时。有没有什么方法可以防止MySentr...

9得票2回答
在临时字符串上使用string::c_str的用法

关于临时对象何时被销毁,以下做法是否有效: FILE *f = fopen (std::string ("my_path").c_str (), "r"); 在评估fopen的第一个参数之后,还是在fopen调用之后,暂时文件会立即被销毁? 使用以下代码进行测试: #include ...

9得票3回答
对临时变量的常量引用的异常情况

我们都知道在C++中这样的语句是有效的: const T &x = T(); while: T &x = T(); 不是。 在最近的一个问题中,讨论引导到了这个规则。 OP发布了一些明显会引起未定义行为的代码。 但我希望它的修改版本能够工作(这是修改后的版本): ...

9得票1回答
对临时变量的常量引用

阅读完Herb Sutter在博客上的this article后,我做了一些实验,遇到了一些令我困惑的问题。我正在使用Visual C++ 2005,但如果这是实现相关的,我会感到惊讶。 以下是我的代码: #include <iostream> using namespace...

9得票2回答
使用函数返回值初始化对象时未调用拷贝构造函数

Consider the following code: #include <iostream> using namespace std; class A { public: int a; A(): a(5) { ...

8得票1回答
对临时引用的const引用

#include <iostream> using namespace std; struct CL { CL() { cout<<"CL()"<<endl; } CL(const CL&) ...