2017-01-28 11 views
0

++彼らがこのように使用:C++ 11 - このQt文をC++ 11で作るには? QtのCで

QtCUrl::Options opt; 
QStringList headers; 
headers 
    << "Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" 
    << "Accept-Encoding gzip, deflate" 
    << "Accept-Language ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3" 
    << "User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0" 
opt[CURLOPT_HTTPHEADER] = headers; 

しかし、私はQtライブラリを使用するカント、私はC++ 11でheadersの同じ宣言することをどのように行うのですか?

+0

NO、正しいです。 – YumYumYum

+1

std :: StringStreamを使って見てください – WLGfx

+1

std :: vectorを見てくださいヘッダー; – Mozfox

答えて

1

まず選択:

using namespace std; 
list<string> headers; 
    headers.push_back("Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 
    headers.push_back("Accept-Encoding gzip, deflate"); 
    headers.push_back("Accept-Language ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"); 
    headers.push_back("User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0"); 

2番目の選択肢:のみQStringListよう

using namespace std; 
vector<string> headers; 
    headers.push_back("Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 
    headers.push_back("Accept-Encoding gzip, deflate"); 
    headers.push_back("Accept-Language ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"); 
    headers.push_back("User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:20.0) Gecko/20100101 Firefox/20.0"); 
+0

'<<'はどのように使えますか? – YumYumYum

+1

<<はpush_backに等しい、「キューの最後に要素を挿入する」ことを意味します。 – aldo85ita

+1

Ps:これに続いて「<<」演算子を定義できます:http://stackoverflow.com/questions/8411733/use-operator to-push-stdstrings-in-a-vector;) – aldo85ita