爲什麼下面的代碼在C++11
中編譯並且不在C++03
中? (包括gcc
和cl
)爲什麼C++ 03文件流不接受字符串構造函數參數?
#include <string>
#include <iostream>
#include <fstream>
int main(int argc, char* argv[]) {
const std::string t("Hello");
std::ofstream out(t);
}
爲什麼不C++03
流接受std::string
作爲構造函數的參數? 這個決定是基於某些事情還是意外發生的?
我不確定「忘記」是否真的合適。 Iostreams是標準庫中最古老的部分之一,第一個標準是編纂現有實踐的一大部分。正如C++所涉及的,std :: string接口更像是一個遺漏,特別是在將C++作爲一種新語言教學時。他們幫助流媒體形成整個圖書館更加一致的部分。 – 2012-02-27 22:31:32