Bolehkah std::string Dijelmakan dalam Ungkapan Malar?
Dalam C 11, menggunakan std::string dalam pose ekspresi malar cabaran. Walau bagaimanapun, C 20 menyediakan penyelesaian, walaupun dengan kaveat bahawa std::string mesti dimusnahkan sebelum penilaian berterusan berakhir.
C 20 Solution:
Sementara coretan kod yang anda berikan tidak akan menyusun, kod berikut akan:
constexpr std::size_t n = std::string("hello, world").size();
C 17 Alternatif: string_view
Sebagai alternatif, C 17 memperkenalkan string_view, objek seperti rentetan ringan yang berfungsi sebagai bukan milik merujuk kepada urutan objek char. Tidak seperti std::string, string_view tidak boleh diubah dan tidak memerlukan pemusnahan. Ini menjadikannya sesuai untuk digunakan dalam ungkapan tetap:
constexpr std::string_view sv = "hello, world";
Atas ialah kandungan terperinci Bolehkah std::string Digunakan dalam Ungkapan Malar dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!