问题标签 [auto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 自动生成的班级成员?
创建类时,我知道如果您不指定它们,它们会自动生成 3 个构造函数/析构函数。operator=
也是自动创建的。
operator==
或任何其他比较运算符是自动生成的吗?是否创建了任何其他成员或成员函数?this
指针呢?
c++ - 如何使用 auto 获得 const_iterator?
第一个问题:是否可以“强制”const_iterator
使用汽车?例如:
我只想查询,而不是更改 指向的任何内容city_it
,所以我想必须city_it
是map<int>::const_iterator
. 但是通过使用 auto,city_it
与 的返回类型相同map::find()
,即map<int>::iterator
. 有什么建议吗?
c++ - 我们可以在 C++11 中将 auto 与类成员初始化器一起使用吗?
在 C++ 中,我们有类成员初始化器,但我似乎无法对非静态成员使用自动/静态类型推导。
那行不通(至少在clang上:Apple LLVM 4.2版(clang-425.0.24))。
这只是一个编译器错误,还是标准不要求支持它(如果是,为什么不支持)?
c++ - When is it appropriate to use 'auto' in C++?
I'm struggling to come up with some consistent rules for myself for when to use 'auto' in a C++ program. Here are my pro/con lists, perhaps you can help me by giving me your input.
Pro:
'auto' is good for avoiding complex and large template declarations (e.g. the classic use case of auto to define the iteration variable over an STL container)
'auto' is good for future-proofing code. For example, if I have an array of ints and I want to change it to unsigned ints, if I've used 'auto' when I refer to elements of that array, things will automatically update. Of course, that would also have occurred had I used a typedef for the array.
Cons:
'auto' makes it hard to read code. I have no idea if the declaration is a pointer or value. I have no idea if it might have a constructor and destructor.
'auto' makes me lazy. I can forget about the types and just write code. But in C++, the types are very important to the semantics of the program.
When does you guys use Auto? and when do you prefer not to use it?
c++ - Visual Studio vs G++ 中的 Decltype 和友元函数
我正在编写一些 C++ 代码来做向量数学。它只是一个围绕std::array
实例的薄包装器是必不可少的。我想重载非成员begin()
函数以将迭代器返回到后备数组的开头。为此,我编写了一个简单的友元函数,它有一个auto
返回类型和一个尾随返回类型,使用decltype
它只是将调用转发到成员变量。
它不会编译,我不知道为什么。我开始摆弄一个较小的示例,发现以下代码在 G++ 4.7 下编译,但在最新的 Visual Studio 2012 Professional 下编译不了。
奇怪的是,如果私有声明elts
在begin()
函数声明之前,则此代码仅在 G++ 中编译。
无论如何,哪个编译器就在这里?Visual Studio 还是 G++?
编辑:VS2012给出的编译错误是error C2228: left of '.elts' must have class/struct/union
c++ - 在 C++ 中使用 auto 的最简单的例子是什么?
我试图了解如何auto
在 C++ 中使用。对我来说,理解某事的最好方法是看一个例子。但是,我看到的例子并不是那么简单。例如这里是“ C++0x auto 关键字的含义,例如? ”。要理解这个例子,我需要知道什么是“模板”、“指针”、“malloc”等等。
请任何人都可以举一个使用 auto 的简约示例,以便人们可以轻松理解它的用途?
c++ - 获取成员函数的地址而不通过具体名称引用实例的类?
现在我们有了auto
关键字,我希望能够获取类实例成员的地址,而不必静态引用它的类。
例如(老派)
c++11 使用自动???
但是,&foo.memfun 无法编译。对此的语法/规范方法是什么?如果可以避免的话,我们当然不想引用具体类型的 foo ,否则auto
似乎确实是弱酱,不是吗?
c++ - C++11:私有成员安全
让我们考虑下一个代码:
编译器(gcc 4.7.2)大喊说这A::B
是私有的。好的。所以,我改变了代码:
它不会大喊:
意思是,我不能创建 的实例A::B
,但我可以使用它。所以,新的变化(我问题的关键)。
并输出:
这里有什么问题,是A::B
私有的(以及它的构造函数、复制构造函数等等)?
c++ - 使用 auto 对函子进行类型推导
我对 C++11 特性比较陌生。我对自动功能以及它如何类型推导函子有疑问。考虑以下代码片段:
虽然 auto (和 std::function )适用于函数,但它对于函数对象失败(类型推断)。为什么是这样?我在这里遗漏了一些基本的 wrt 类型推断。
(我正在使用 Visual Studio 2012)
c++ - foreach(int i.. 和 foreach(auto i) 之间的区别
我正在 Mac OX (LLVM 4.2) 附带的 Clang 编译器上试验 C++11 功能,以下结果让我感到困惑:
在运行环境中,我得到不同的输出,如下所示:
为什么我会得到不同的结果?