抛出异常时破坏字符串临时值
考虑以下代码: std::string my_error_string = "Some error message"; // ... throw std::runtime_error(std::string("Error: ") + my_error_string)…
关于C++中临时销毁的确切时间的问题
以下代码安全吗(它在调试中工作): void takesPointer(const Type* v);//this function does read from v, it doesn't alter v in any way Type get…
调用临时对象方法的 PHP 语法
有没有办法在临时声明的对象上调用方法,而不必强制将第一个对象分配给变量? 见下文: class Test { private $i = 7; public function get() {return…
在 C++ 中按值传递临时结构的简单方法?
假设我想将一个临时对象传递给一个函数。有没有办法用 1 行代码和 2 行代码来使用结构来做到这一点? 对于一个类,我可以这样做: class_func(TestCla…
是否可以更改临时对象并将其作为参数传递?
是否可以更改临时对象并将其作为参数传递? struct Foo { Foo& ref() { return *this; } Foo& operator--() { /*do something*/; return *this; } // …
这个 C++ 应该吗?临时绑定参考成员是非法的吗?
我的问题(在此之后,抱歉介绍太长,问题在粗体中)最初受到 Herb Sutters Exceptional C++ 中第 23 条的启发,其中我们找到这样的东西: ... int mai…
为什么 Visual C++ 编译器在这里调用了错误的重载?
为什么 Visual C++ 编译器在这里调用错误的重载? 我有一个 ostream 的子类,用于定义格式化缓冲区。 有时我想创建一个临时文件并立即使用通常的 << …
将 const 引用绑定到临时对象时,为什么析构函数被调用两次?
阅读此内容后Herb Sutter 博客上的文章 中,我进行了一些实验,并遇到了一些让我困惑的事情。 我正在使用 Visual C++ 2005,但如果这是依赖于实现的,…
通过引用使用临时对象和参数的规则
假设我有一个类: class A { public: A() {} }; 和一个函数: void x(const A & s) {} 并且我有: x(A()); 有人可以向我解释有关通过引用传递临时对象…
C++ 编译器无法正确识别枚举
谁能解释为什么以下代码无法编译(在 g++ (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-49) 上)? struct X { public: enum State { A, B, C }; X(Sta…