相关疑难解决方法(0)

极少数情况下必须使用MACRO

调试宏可能需要很长时间.我们最好避免使用它们,除非在非常罕见的情况下,常量,函数和模板都不能达到我们想要的效果.

什么是罕见的情况?

c c++ macros

26
推荐指数
5
解决办法
3205
查看次数

std :: ostringstream打印c-string的地址而不是其内容

我偶然发现了一个我最初无法解释的奇怪行为(见ideone):

#include <iostream>
#include <sstream>
#include <string>

int main() {
  std::cout << "Reference     : "
            << (void const*)"some data"
            << "\n";

  std::ostringstream s;
  s << "some data";
  std::cout << "Regular Syntax: " << s.str() << "\n";

  std::ostringstream s2;
  std::cout << "Semi inline   : "
            << static_cast<std::ostringstream&>(s2 << "some data").str()
            << "\n";

  std::cout << "Inline        : "
            << dynamic_cast<std::ostringstream&>(
                 std::ostringstream() << "some data"
               ).str()
            << "\n";
}
Run Code Online (Sandbox Code Playgroud)

给出输出:

Reference     : 0x804a03d
Regular Syntax: some data
Semi inline   : some …
Run Code Online (Sandbox Code Playgroud)

c++ stream

19
推荐指数
2
解决办法
6599
查看次数

标签 统计

c++ ×2

c ×1

macros ×1

stream ×1