Kezdőoldal » Számítástechnika » Programozás » Hogy lehet C++-ban az std::str...

Hogy lehet C++-ban az std::string literált használni using namespace nélkül?

Figyelt kérdés

#include <string>

#include <iostream>


int main() {

using namespace std::string_literals;


std::string s2 = "abc\0\0def"s;

std::cout << "s2: " << s2.size() << " "" << s2 << ""\n";

}



2019. aug. 2. 20:26
 1/6 anonim ***** válasza:
42%

Az importok után beírod, hogy using namespace std;

Ezzel nem kell sehová kiírni majd az std namespace-t. Ha csak stringnél nem akarsz namespacet tenni, akkor szintén importok után beírod, hogy using std::string;

2019. aug. 2. 20:59
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:
Mondom nélkül.
2019. aug. 2. 21:37
 3/6 tabaki ***** válasza:
58%
Pont így, ahogy írtad, csak nem mindegy, melyik C++-szabványt használod. Én nem értek hozzá, de hasraütéses alapon a -std=c++14 opciót adtam meg a fordítónak, azzal mindenesetre jó.
2019. aug. 3. 02:00
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:
78%

Ha using namespace nélkül akarod használni, akkor nem írod ki. Helyette a névtérbe lévő bármilyen dolog elé oda kell írni a névtér nevét, majd kétszer a kettőspontot, azaz a hatókör feloldó operátor.


Ha a globális névtérbe helyezed using namespace-el az adott névteret, akkor elhagyható a névtér neve, és a hatókör feloldó operátort.


De ne vidd tulzásba a using-oást. A névterek nem azért vannak, mert a usint-uk jól néz ki a program elején.

2019. aug. 3. 07:07
Hasznos számodra ez a válasz?
 5/6 tabaki ***** válasza:
58%
Bocsánat, reggelre kelve egy kissé jobban érteni vélem a problémát. Hozzáértés híján nem tudom, hogy egyáltalán lehetséges-e. Lehet, hogy csak így lehet meghívni.
2019. aug. 3. 07:48
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
61%

1: Manuálisan meghívod:

std::string_literals::operator""s("abc\0\0def", 9);


2: Nem húzod be az egész névtért, csak az s operátort:

using std::string_literals::operator""s;

std::string s2 = "abc\0\0def"s;


3: prog.hu oldalon kérdezel, ahol olyanok válaszolnak akik pénzt is kapnak azért, hogy programoznak, nem csak itt értetlenkednek.

2019. aug. 3. 10:46
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!