Nalutas: kung paano sumunod sa c++ 17

Huling pag-update: 09/11/2023
May-akda: C SourceTrail

Oo naman, mukhang maraming mga kinakailangan para sa artikulong ito. eto na:

Ang mundo ng programming ay patuloy na umuunlad, at kasama nito, ang bersyon ng C++ na ginagamit namin para sa pag-unlad. Ang isa sa mga pinakabagong bersyon, ang C++17, ay nagdadala ng maraming bagong feature at kakayahan na nagbibigay-daan sa mga developer na magsulat ng mas mahusay at maigsi na code. Marami sa inyo ang maaaring nagtataka kung paano mag-compile sa bagong bersyon na ito ng C++. Nilalayon ng artikulong ito na lutasin ang iyong mga problema at ipaliwanag kung paano ito gagawin.

Ano ang C++17 at Bakit Ito Gamitin?

C ++ 17 ay ang pinakabagong standardized na bersyon ng C++. Maraming programmer ang lumilipat dito dahil nag-aalok ito ng mas malinis na syntax, mas mahusay na suporta sa library, at ilang mahahalagang bagong feature na maaaring gawing simple at ma-optimize ang coding.

// Halimbawang C++17 Code
# isama
# isama

int main ()
{
std::vector v = {1, 2, 3, 4, 5};
para sa (auto& n : v)
{
std::cout << n << "n"; } bumalik 0; } [/code] Sa C++17 code sa itaas, ginagamit ang vector initializer list at range-based para sa mga feature ng loop, na ginagawang mas simple at mas nababasa ang code kaysa sa mga nakaraang bersyon ng C++.

Compilation Gamit ang C++17

Ang proseso ng compilation ay nag-iiba depende sa compiler na iyong ginagamit, ngunit karamihan sa mga modernong compiler ay sumusuporta sa C++17. Tatalakayin natin ang dalawang sikat, Koleksyon ng GNU Compiler (GCC), at Visual Studio (MSVC) ng Microsoft.

Para sa GCC, maaari mong tukuyin ang C++17 sa pamamagitan ng pagdaragdag ng -std=c++17 bandila:

[code lang="C++"]
g++ -std=c++17 myfile.cpp -o myfile

Para sa MSVC sa Visual Studio, ang karaniwang bersyon ay nakatakda sa mga katangian:

Project -> Properties -> C/C++ -> Language -> C++ Language Standard -> ISO C++17 Standard

Pag-unawa sa Mga Tampok ng C++17

Kasama sa mga pangunahing feature na inaalok ng C++17 ang mga structured na binding, mga opsyonal na uri, at higit pa. Ang mga tampok na ito ay naglalayong pahusayin ang pagiging maaasahan at kahusayan ng code. Ang pagsanay sa mga feature na ito ay mangangailangan ng ilang pagsasanay.

// Structured Bindings
std::mapa m = {{1, “isa”}, {2, “dalawa”}};
para sa (auto const& [key, value] : m)
{
cout << key << "=" << value << 'n'; } [/code] Sinimulan ng artikulong ito kung paano mag-compile at magsuri ng C++17 code. Habang nagbabago ang mga spec ng wika, nagbabago rin ang code na isinusulat namin. Ang pag-aaral at pag-angkop sa mga pagbabagong ito ay hindi lamang mahalaga kundi isang napaka-kagiliw-giliw na aspeto ng pagiging isang programmer.

Kaugnay na mga post: