c++ – Frage zur Verwendung von „forward_list' mithilfe eines Iterators zur Ausgabe von Elementen
过去多啦不再A梦
过去多啦不再A梦 2017-05-31 10:39:45
0
1
602
#include "iostream"
#include "forward_list"
#include "string"

using namespace std;

int main() {
    
    forward_list<int> fl1 = { 1, 2, 3 };
    for (auto iter = fl1.begin(); iter != fl1.end(); ++iter) {
        cout << *iter << " ";
    }
    cout << endl;
    //以上都是没什么问题的,在控制台会打印出1 2 3
    //但是……
    
    forward_list<string> fl2 = { "hello", "world", "Cpp" };
    for (auto iter = fl2.begin(); iter != fl2.end(); ++iter) {
        cout << *iter << " "; //这里VS报错没有对应<<的元素, 请问这是为什么?
        //而且当我用printf(%s, *iter)打印时虽然编译器不报错但是输出的结果却是乱码……
    }
    cout << endl;

    return 0;
}
过去多啦不再A梦
过去多啦不再A梦

Antworte allen(1)
PHPzhong

g++ 6.3.0 x86_64-posix-seh-rev2 没有问题
clang++ 4.0.0 Target: x86_64-pc-windows-msvc 没有问题
这种情况使用 for(const auto& item : list) 更好.

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!