Różne programy i różny wynik
Ostatnio zmodyfikowano 2021-08-23 10:30
krystian123456 Temat założony przez niniejszego użytkownika |
Różne programy i różny wynik » 2021-08-23 08:12:26 Dlaczego poniższy program zwraca różny wynik w zależności od programu? VS code = 28 , Qt = 32 , compilator online = 8, code blocks = 32 . #include <iostream> using namespace std;
int main() { string i; cout << sizeof( i ) << endl; return 0; }
|
|
DejaVu |
» 2021-08-23 10:30:23 Standard nie określa jak ma wyglądać implementacja std::string, więc rozmiar tego typu na stosie może być różny w zależności od użytych bibliotek jak również kompilatora oraz architektury dla której jest budowany (np. x86/x64). Poza tym sizeof nie powie Ci ile miejsca zajmuje obiekt w pamięci. To tylko zwróci informację ile zajmuje miejsca struktura reprezentująca obiekt (wyłączając dynamiczne alokacje pamięci). |
|
« 1 » |