摘要:由于用久了C#,习惯了"content1"+"content2"的用法,但在C++中,这样的用法是不被支持的。const std::string message = "Hello" + ",World" + exclam ;这个先执行"Hello" + ",World",这是个char*+char*, 这个是没有重载的operator+的(就是2个指针相加)如果是exclam +"Hello" + ",World" ; 那么先执行exc
阅读全文
摘要:其实没有 < iostream.h > 这样的东西 --- 标准化委员会在简化非C标准头文件时用 < iostream > 取代了它。但又没有完全取消 < iostream.h > 的使用,并且很多编译器都同时支持 < iostream > 和 < iostream.h > ,造成现在的局面,老大(标准化委员会)确实有不得已的苦衷。话说当年,在标准化委员会动手重建新的标准库的时候,遇到了问题。为了避免类名和函数名的冲突问题,引入了名字空间std。但无数现有的C++代码都依赖于使用了多年的伪标准库中的功能,例如,声明在 < ios
阅读全文
摘要:一般接触C++的时候,都会用到string这个标准程序库提供的类型。需要包含对应的头文件。在不同的平台,头文件include的内容有时候也不一样。像string类型,有时候我们只#include iostream但不#include string一样可以编译通过。查了一下,结论就是 总是包含适当的头文件。STL编程的次要麻烦之一是虽然可以很容易地建立可以在一个平台上编译的软件,但在其它平台上则需要附加的#include指示。这个烦恼来自一个事实:C++标准(不像C标准)未能指定哪一个标准头文件必须或者可能被其他标准头文件#include。由于有了这样的灵活性,不同的实现就会选择去做不同的东西。
阅读全文