草庐IT

cout_member

全部标签

c++ - 使用 std::cout 评估参数的顺序

大家好,我今天偶然发现了这段代码,我对到底发生了什么感到困惑,更具体地说是按照什么顺序:代码:#includeboolfoo(double&m){m=1.0;returntrue;}intmain(){doubletest=0.0;std::cout输出是:Valueoftestis:1Returnvalueoffunctionis:1Valueoftest:0看到这一点,我会假设在调用函数之前以某种方式打印了最正确的参数。所以这是从右到左的评价??在调试期间,虽然似乎在输出之前调用了该函数,这是我所期望的。我正在使用Win7和MSVS2010。感谢任何帮助!

c++ - 使用 std::cout 评估参数的顺序

大家好,我今天偶然发现了这段代码,我对到底发生了什么感到困惑,更具体地说是按照什么顺序:代码:#includeboolfoo(double&m){m=1.0;returntrue;}intmain(){doubletest=0.0;std::cout输出是:Valueoftestis:1Returnvalueoffunctionis:1Valueoftest:0看到这一点,我会假设在调用函数之前以某种方式打印了最正确的参数。所以这是从右到左的评价??在调试期间,虽然似乎在输出之前调用了该函数,这是我所期望的。我正在使用Win7和MSVS2010。感谢任何帮助!

C++ 模板 : The static member in a global object is not initialized

我有一段简单的C++代码,其中我通过专门化模板定义了一个模板和一个全局对象。对象构造函数访问专用模板中的静态成员。但事实证明,此时静态成员并未初始化。但是对于本地对象(在函数体中定义),它可以工作。我很困惑...我的c++编译器是:g++(Ubuntu5.4.0-6ubuntu1~16.04.4)5.4.020160609/////////////////////////templateclassTB{public:constchar*_name;TB(constchar*str):_name(str){coutclassTA{public:constchar*_name;TA(con

C++ 模板 : The static member in a global object is not initialized

我有一段简单的C++代码,其中我通过专门化模板定义了一个模板和一个全局对象。对象构造函数访问专用模板中的静态成员。但事实证明,此时静态成员并未初始化。但是对于本地对象(在函数体中定义),它可以工作。我很困惑...我的c++编译器是:g++(Ubuntu5.4.0-6ubuntu1~16.04.4)5.4.020160609/////////////////////////templateclassTB{public:constchar*_name;TB(constchar*str):_name(str){coutclassTA{public:constchar*_name;TA(con

在静态变量初始化中使用 cout 时出现 C++ 段错误

我有一个程序,我使用cout来发出调试信息。代码在静态全局变量的初始化中执行,即在程序执行的早期。当我使用自己的构建脚本构建程序时,它在第一次使用cout时出现段错误(只有一个字符串文字被转移到cout,所以它不能是值)。我使用valgrind检查早期对无效位置的写入,但没有(也没有可能生成这些写入的代码,我在输出之前没有做太多)。当我将源代码复制到Eclipse项目并让Eclipse内置构建器构建它时,一切正常。我没有使用任何奇怪的构建器设置,只是用-ggdb-std=c++0x编译,这是仅有的两个标志。那么,如果之前没有无效写入,带有字符串文字的cout段错误的原因是什么?构建配置

在静态变量初始化中使用 cout 时出现 C++ 段错误

我有一个程序,我使用cout来发出调试信息。代码在静态全局变量的初始化中执行,即在程序执行的早期。当我使用自己的构建脚本构建程序时,它在第一次使用cout时出现段错误(只有一个字符串文字被转移到cout,所以它不能是值)。我使用valgrind检查早期对无效位置的写入,但没有(也没有可能生成这些写入的代码,我在输出之前没有做太多)。当我将源代码复制到Eclipse项目并让Eclipse内置构建器构建它时,一切正常。我没有使用任何奇怪的构建器设置,只是用-ggdb-std=c++0x编译,这是仅有的两个标志。那么,如果之前没有无效写入,带有字符串文字的cout段错误的原因是什么?构建配置

c++ - 为什么在 std::cout 上显式调用 operator<< 会导致意外输出?

我只是好奇如果我调用operator会发生什么在std::cout明确地因为我了解到a.operator()与a()完全相同.所以我这样做了,它打印出一些奇怪的东西:#includeusingstd::cout;intmain(){cout.operatorOutput:0x80486a0奇怪的是,它会输出一个地址(您的地址可能不同,但它仍然应该是一个地址)。我在想这是字符串的地址,所以我尝试取消引用它以使其输出字符串:*(cout.operator但是我得到一个很长的错误nomatchforoperator*in'*std::cout.std::basic_ostream我觉得这很奇

c++ - 为什么在 std::cout 上显式调用 operator<< 会导致意外输出?

我只是好奇如果我调用operator会发生什么在std::cout明确地因为我了解到a.operator()与a()完全相同.所以我这样做了,它打印出一些奇怪的东西:#includeusingstd::cout;intmain(){cout.operatorOutput:0x80486a0奇怪的是,它会输出一个地址(您的地址可能不同,但它仍然应该是一个地址)。我在想这是字符串的地址,所以我尝试取消引用它以使其输出字符串:*(cout.operator但是我得到一个很长的错误nomatchforoperator*in'*std::cout.std::basic_ostream我觉得这很奇

C++ Cout & Cin & 系统 "Ambiguous"

关闭。这个问题需要detailsorclarity.它目前不接受答案。想要改进这个问题吗?通过editingthispost添加详细信息并澄清问题.关闭8年前。Improvethisquestion我只是在C++中编程,突然间所有的“cout”和“cin”都是错误和“模棱两可的”。包括系统。我不知道为什么会这样。一切都很好,我在同一个程序中编写了大约2个小时,然后它就……发生了。编辑我仍然可以无错误地运行程序,但它们在文本中显示为错误,即红色涂鸦线。发生了什么?我正在使用VisualStudio2013IDE,无论它附带什么。#include#include#include#inclu

C++ Cout & Cin & 系统 "Ambiguous"

关闭。这个问题需要detailsorclarity.它目前不接受答案。想要改进这个问题吗?通过editingthispost添加详细信息并澄清问题.关闭8年前。Improvethisquestion我只是在C++中编程,突然间所有的“cout”和“cin”都是错误和“模棱两可的”。包括系统。我不知道为什么会这样。一切都很好,我在同一个程序中编写了大约2个小时,然后它就……发生了。编辑我仍然可以无错误地运行程序,但它们在文本中显示为错误,即红色涂鸦线。发生了什么?我正在使用VisualStudio2013IDE,无论它附带什么。#include#include#include#inclu