Løst: hvordan man overholder c++ 17

Sidste ændring: 09/11/2023
Forfatter: C SourceTrail

Selvfølgelig lyder det som om, at der er mange krav til denne artikel. Vær så god:

Programmeringsverdenen udvikler sig konstant, og med den også den version af C++, som vi bruger til udvikling. En af de nyeste versioner, C++17, bringer et væld af nye funktioner og muligheder, der gør det muligt for udviklere at skrive mere effektiv og kortfattet kode. Mange af jer spekulerer måske på, hvordan man kompilerer med denne nye version af C++. Denne artikel har til formål at løse dine problemer og forklare, hvordan du gør det.

Hvad er C++17 og hvorfor bruge det?

C ++ 17 er den seneste standardiserede version af C++. Mange programmører skifter til det, fordi det tilbyder renere syntaks, rigere biblioteksunderstøttelse og flere værdifulde nye funktioner, der kan forenkle og optimere kodning.

// Eksempel på C++17-kode
#include
#include

int main ()
{
std::vektor v = {1, 2, 3, 4, 5};
for (auto& n: v)
{
std::cout << n << "n"; } returner 0; } [/code] I ovenstående C++17-kode bruges vektorinitialiseringslisten og rækkeviddebaserede for loop-funktioner, hvilket gør koden enklere og mere læsbar end tidligere versioner af C++.

Kompilering ved hjælp af C++17

Processen med kompilering varierer afhængigt af den compiler du bruger, men de fleste moderne compilere understøtter C++17. Vi vil diskutere to populære, GNU Compiler Collection (GCC)og Microsofts Visual Studio (MSVC).

For GCC kan du angive C++17 ved at tilføje -std=c++17 flag:

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

For MSVC i Visual Studio er standardversionen indstillet i egenskaberne:

Projekt -> Egenskaber -> C/C++ -> Sprog -> C++ Sprogstandard -> ISO C++17 Standard

At blive fortrolig med C++17s funktioner

De vigtigste funktioner, som C++17 tilbyder, omfatter strukturerede bindinger, valgfrie typer og mere. Disse funktioner sigter mod at forbedre kodens pålidelighed og effektivitet. At vænne sig til disse funktioner ville kræve noget øvelse.

// Strukturerede bindinger
std::kort m = {{1, "én"}, {2, "to"}};
for (autokonst& [nøgle, værdi] : m)
{
cout << nøgle << " = " << værdi << 'n'; } [/code] Denne artikel ridsede i overfladen af, hvordan man kompilerer og analyserer C++17-kode. Efterhånden som sprogspecifikationerne udvikler sig, ændres den kode, vi skriver, også. At lære og tilpasse sig disse ændringer er ikke kun vigtigt, men også et meget interessant aspekt ved at være programmør.

Relaterede indlæg: