为什么 C++ 标准明确指出,对于内置赋值运算符,没有引入左操作数的临时值?
作者:Jan Tušil 提问时间:4/10/2017
C++ 标准明确指出,对于内置赋值运算符,不会引入左操作数的临时值。但是,我认为没有必要。引自 N4296 §13.3.1.2/4: 对于内置赋值运算符,左操作数的转换 限制如下: (4.1) —...
律师 问答列表
作者:Jan Tušil 提问时间:4/10/2017
C++ 标准明确指出,对于内置赋值运算符,不会引入左操作数的临时值。但是,我认为没有必要。引自 N4296 §13.3.1.2/4: 对于内置赋值运算符,左操作数的转换 限制如下: (4.1) —...
作者:OODAX 提问时间:5/12/2023
volatile int lhs = 1; int rhs = 2; int x = 3; x = lhs = rhs; 同化运算符是否返回 (typeof lhs)rhs ?或者它是否返回 n...
作者:Enlico 提问时间:7/27/2023
只允许使用 5 个标签,但请接受它,因为 c++20 和 c++23 也在列表中,因为我也想知道这些标准,以防自 c++17 以来发生任何变化。 标准是否指定了 a 的两个条目(不是 std::tu...
作者:Enlico 提问时间:3/10/2023
以一个简单的类为例,包装一个 ,int struct Foo { int x; } f; 以及一个包含 和 可以转换为它的类,Foo struct Bar { Foo f; operat...
作者:Zebrafish 提问时间:4/17/2018
当这不能在 C 中编译时,我感到很困惑: int main() { for (int i = 0; i < 4; ++i) int a = 5; // A dependent statement...
作者:R_Kapp 提问时间:6/22/2018
请考虑以下代码: #include <memory> #include <vector> class A { private: std::vector<std::unique_ptr<int>>...
作者:yeputons 提问时间:10/3/2021
请考虑以下 C++ 17 代码: #include <iostream> int read; int main(){ std::ios_base::sync_with_stdio(false); ...
作者:Ben 提问时间:7/11/2023
如果我用大括号构造一个并赋予它少于 items 的,这些项目是否为零初始化?(或者它们是否默认初始化?如果我给它零个项目(即 ),那么我相信它零初始化所有元素。std::array<T, N>N= {...
作者:Vinod 提问时间:8/20/2019
这个问题是关于 std::add_pointer 实现的问题的后续 在 std::add_pointer 下 有以下参考: 否则(如果 T 是 cv 或 ref 限定的函数类型),则提供 成员 ...
作者:Fedor 提问时间:1/27/2022
在下面的程序中,有一个构造函数模板,要求类型是可复制的。同时,它本身必须具有隐式定义的复制构造函数:struct AA(T)TA #include <type_traits> struct A {...