问题标签 [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.

0 投票
7 回答
53338 浏览

c++ - 在 C++11 中用“auto”推导时 lambda 的类型是什么?

我有一种感觉,lambda 的类型是函数指针。当我执行以下测试时,我发现它是错误的(演示)。

上面的代码是否缺少任何要点?如果不是,那么用关键字typeof推导时的 lambda 表达式是什么?auto

0 投票
1 回答
1632 浏览

c++ - `auto` 以前是做什么用的?

我知道在 C++11 之前,auto关键字的含义完全不同;它是一个存储类型说明符,指示具有自动存储类型(即放置在堆栈上)的对象。

理论就是这样......你将如何实际使用这个关键字(语法),为什么?此外,我还没有在 C++11 之前的实际代码中看到这个关键字;什么时候有用(什么时间段)?

0 投票
1 回答
5624 浏览

c++ - C ++ 11自动类型危险吗?

可能重复:
C++0x auto 关键字多少太多了
新关键字“auto”;什么时候应该使用它来声明变量类型?

在 C++11 中,键入一个变量auto而不是int, 将使编译器自动使用正确的类型,从其初始化上下文中推断出来。这在类型很明显但写起来很无聊的情况下非常方便。是否有需要注意的陷阱,或者有人会避免使用它的原因?

0 投票
3 回答
10190 浏览

c++ - 来自 const std::vector<>& 的自动;对象还是参考?

假设我们有一个具有以下接口的对象:

auto现在,我使用如下变量访问该属性:

是什么类型的childs?一个std::vector< something >或一个参考?

0 投票
1 回答
2940 浏览

c++ - 将 auto 关键字替换为推导类型(clang 或 VS2010)

有没有人写过一个脚本、插件或可执行文件,用编译器推断的类型替换“auto”的每个实例?我需要移植一些到处使用 auto 的 C++11 代码。

Clang 是我的第一个候选人。有没有人修改它来做这样的事情?

另一种方法是从编译器解析错误,因为预期的类型可能在错误输出中。我可以-Dauto=int而且可能会回来"could not convert std::vector<int>::iterator to 'int'"

0 投票
2 回答
1484 浏览

c++ - 自动和常量对象

在上面的代码中,为什么编译器将v的类型推断为shared_ptr<int>而不是const shared_ptr<const int>getField 返回的类型?

编辑: MSVC2010

0 投票
1 回答
270 浏览

c++ - 缺少结构定义时自动不起作用

当缺少结构定义时,我有点困惑auto在gcc中不起作用。例如:

在第 4 行,编译器抱怨它无法确定var是什么。既然宣布了测试,我认为它应该是小菜一碟。我是否遗漏了什么或者这是 gcc 实现中的错误?

编辑:

对不起这是我的错。工具链使用的是古老/有缺陷的 gcc 4.4。强制它使用 4.6 它就像一个魅力。

0 投票
3 回答
809 浏览

c++ - Wunused-but-set-variable warning with C++11 auto

我收到了 GCC v4.6 的 -Wunused-but-set-variable 警告,代码如下:

警告具体是:

i如果是元素的副本,则警告将有意义,但由于vertexIndicesQList对象(符合 STL 的 Qt 容器类),基于范围的 for 循环应调用 begin() 和 end() 迭代器 getter,它将始终返回一个非常量迭代器(只要容器是非常量的 - 它就是)。

我目前无法测试它是否按我认为的那样工作,因为我正在更改我的代码库以利用新的 C++11 功能,所以还没有编译。但我希望有人能告诉我这个警告是否是无稽之谈,或者我是否误解了自动和基于范围的 for 循环......

0 投票
1 回答
10539 浏览

c++ - auto&& 是做什么的?

这是 Scott Meyers 的 C++11 Notes Sample 的代码,

我很难理解auto&&
我对 有一些了解auto,从中我会说auto& a1 = x应该使 type of a1asint&

引用代码中的哪个似乎是错误的。

我写了这个小代码,并在 gcc 下运行。

输出 =4 (newline) 5
然后我将第 8 行修改为auto&& a1 = x;,然后运行。相同的输出。

我的问题:auto&等于auto&&
如果它们不同,会auto&&做什么?

0 投票
2 回答
363 浏览

c++ - Boost Spirit Auto Parser 因双打元组而失败

在下面的代码中,我尝试将Boost Spirit Auto Parser用于一个序列或两个双打,但它无法编译。我在这里做错了什么?

被注释掉的行编译,所以它接受boost::tuple<double, double>作为 ; 的属性类型qi::double_ >> qi::double_。但它无法从属性类型中获取解析器。为什么?