Yönetilen C++ uygulamasında verbatim String literallerini kullanmanın bir yolu var mı? C# 'e benzer:Verbatim Literals? (C# 's @ "blah" gibi)
cevap
(çiğ dize vardır:
cout<<R"((\"ddd\aa)\n)"<<endl;
cout<<R"delimiter((\"ddd\aa)\n)delimiter"<<endl;
çıktısı:
(\"ddd\aa)\n
(\"ddd\aa)\n
Bu şu anda mümkün değildir. Yönetilen C++ dize değişmezleri, normal C++ dizeleriyle neredeyse aynı kurallara sahiptir. Yönetilen C++ özelliği aslında ANSI C++ standardının sadece bir yükseltisidir.
Şu anda C++ (yönetilen veya edilmeyen) C# stili değişmez sözdizimi için destek yoktur. Her karakterden manüel olarak kaçmalısınız.
Daha fazla bilgi için C++/CLI spesifikasyonlarındaki Bölüm 9.1.3.3'e bakın. Spec Link) C++ 11
oldukça olarak veciz değil '@' C# kelimesi kelimesine dize olarak literal iken, Aşağıdaki derleme/Clr: saf, bu nedenle, saf MSIL için C++ Raw String Literals ve benzeri bir sonuç için kullanabilirsiniz:
Ham dize hazır da düzenli C++ kullanılabilir:
char *x = R"(C:\foo\bar.txt)";
tarihinde "msdn C++ Dize rakamları" daha fazla bilgi
Oh! harika!! Çok teşekkür ederim – Cluster
o şimdi olduğu daha sonra verildiğinde Bu cevap çok daha doğru için. – RichardPlunkett
@RichardPlunkett, mevcut durumun yansıması ışığında bu yazıyı düzenlemeli veya kaldırmalı mıyız? –
Ham dize değişmezleri istenen sonucu elde etmek için kullanılabilir: String^f = gcnew Dize (R "(C: \ foo \ bar.txt)"); [Daha fazla bilgi için Google msdn C++ Dize Literalleri] – Cameron