问题标签 [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++ - 如何获得非常量迭代器
我可以“明确指出”获得的值是非常量类型吗?
c++ - CIN 到 string 或 int 变量,然后到重载的构造函数
这里是新手,所以放轻松:) 我已经用谷歌搜索了,似乎真的找不到一个优雅的解决方案。我正在做一些编码来学习一些概念。
我有一个名为“sally”的类,它有一个重载两次的构造函数,即我的 sally.cpp 是:
在我的 main.cpp 中,如果我创建对象sally myobj;
然后通过对象调用函数,即sally.myobj(55)
我得到正确的构造函数并告诉我我有一个 INT 值,或者如果我去sally.myobj("johhny")
我让另一个构造函数去告诉我有一个字符串,上面写着“johnny”,所以那部分我很好。
我想知道的是,有没有一种优雅的方式可以使用 CIN 从用户那里获取输入,或者直接将其传递给对象 - 不使用变量(我已经尝试过但无法让它工作)。
基本上,我希望用户能够输入一个字符串或一个 int 并在 sally.myobj(); 中使用它。调用,并让构造函数来确定它是什么类型的数据。
之类的东西:
auto x = 0;
然后cin >> x
不工作,因为最初的声明是一个 int,所以它保持这样。
有没有办法声明一个没有类型的变量并根据 CIN 的输入为其分配一个类型?
抱歉,如果这个问题的答案非常明显,但我正处于旅程的开始阶段(我正在学习这个人的第 40 篇教程:http ://www.youtube.com/watch?v=tvC1WCdV1XU )并阅读 Stanley Lippman 的 C++ Primer(第 5 版)和 Matt Weisfield 的 The Object-Oriented Thought Process。它们是我目前唯一的资源(那个和谷歌)。
提前致谢
塞布
编辑:
在看到下面的一些回复后,它帮助我弄清楚了什么可以/不能做什么,我已经使用一个利用一些正则表达式的解析函数来解决它,如果字符串内容被认为是 INT 然后转换它并将其放入一个新变量并关闭到构造函数中:
莎莉.cpp:
然后我简单地说sally myobj;
xmyobj.StringParser(x);
是来自 CIN 的输入,Parsing 函数负责其余部分并将其传递给构造函数。
我确信我可以使用具有不同 REGEX 的 SWITCH 语句来处理浮点数等,然后创建额外的构造函数。但就目前而言,我似乎找到了解决方案。
热衷于看看我的方法是否有任何问题。
c++ - 关键字auto的惊人有用的用法
这个迷人的发现让我有点惊讶,我想知道依靠它有多“安全”。
该auto
关键字在历史上很少被使用,因为无论如何它都是隐含的:
是相同的:
所以我在 Stackoverflow 上摸索,这是我强烈推荐的一个很棒的网站。我发现了这个迷人的金块:在新的 c++ 中,您可以使用它auto
来推断类型。
这确实减少了很多打字。例如,我现在正在处理的不是这个:
我可以这样做:
所以我想知道的是……我经常这样做对养成的习惯有多好?
Stackoverflow 上的“auto”标签表示,当可以“明确推断”该类型是什么时,此关键字有效。这对我来说意味着这是一个非常安全和良好的习惯,只要你不打算支持老一代语言的编译器。
java - Java中有自动类型推断吗?
auto
Java 中是否有像 C++ 中的变量类型?
一个例子:
我知道 Java 中有一个增强的 for 循环,但是有自动吗?如果没有,这样做是否有技巧?我指的是 C++11 中的新特性
c++ - 传递 const std::auto_ptr<> 作为 std::auto_ptr<_Tp>::operator std::auto_ptr_ref<_Tp1>() 的这个参数丢弃限定符
在编译代码时,我发现了这个错误并且无法跟踪它,因为我在网上没有看到任何对此类错误的引用。请帮忙 - -
c++ - 我可以在 g++ 4.4 中使用 auto 吗?
我可以指定 -std=c++0x 以使用我的 g++ 4.4 进行编译,并且初始化列表是正确的,我可以使用它们(在 c++98 中我不能)但是在尝试使用 auto 关键字时仍然会出错:
所以我假设我不能在 g++4.4 中使用 C++11 功能。由于与 CUDA 兼容,我有 4.4。
c++ - 如何将 MS Visual C++ 2010 Express 中的 Auto/Local 变量转储到文件中?
是否可以将 MS Visual C++ 2010 Express 中的所有 Auto 和 Local 变量转储到 txt/excel 文件中?
我正在尝试制作日志,我需要将所有变量转储到文件中以发送并稍后读取值。
c++ - 编译器因 const auto 崩溃
我正在使用Visual Studio 2010
SP1。以下代码使编译器崩溃:
请注意修复问题的注释行。我在这里使用auto
正确吗(即const
限定符 on auto
)?解决方法本质上是否完全相同(即我可以安全地使用它,直到编译器的错误被修复)?最后,我是唯一遇到此问题的人吗,如果没有,我将提交错误报告。
注意:我意识到这里的 const 没有什么意义。我试图在一个较小的项目中复制该错误,在实际项目中,我正在返回const
对对象的引用。
c++ - Foreach range iteration over a vector - auto or auto&?
Game engine micro-optimization situation: I'm using C++11 range for loop to iterate over a vector<int>
, with the auto
keyword.
What is faster:
or
?
c++ - Why would they special-case certain initializer lists instead of treating them all the same?
Say I have a variable auto x
that I want to initialize to 7
using brace initialization, simple:
Except I learned that x is NOT an integer, but an initialization list itself. Why? Is there a specific reason why the committee would decide that auto
should grab the initialization list in the case of a single auto value, or do they expect us to just realize these shouldn't be used together. I cant seem to think of a possible reason i would want an initializer list to be stored into auto as opposed to the value