Pensando en sizeof en C ++

El siguiente es el procedimiento de prueba:

#include <iostream>
#include <vector>
#include <string>
#include <cstddef>
using namespace std;

int main()
{
    
    
	string word1 = "Teddy";
	string word2 = "Bear";
	vector<int> vec1{
    
     0,1,2,3,4 };
	vector<int> vec2{
    
     0,1,2 };
	vector<string> vec3 = {
    
     "Teddy","Bear" };
	cout << "size of int is " << sizeof(int) << ".\n";
	cout << "size of long is " << sizeof(long) << ".\n";
	cout << "size of long long is " << sizeof(long long) << ".\n";
	cout << "size of short is " << sizeof(short) << ".\n";
	cout << "size of char is " << sizeof(char) << ".\n";
	cout << "size of 'word1' is " << sizeof word1 << ".\n";
	cout << "size of 'word2' is " << sizeof word2 << ".\n";
	cout << "size of 'vec1' is " << sizeof vec1 << ".\n";
	cout << "size of 'vec2' is " << sizeof vec2 << ".\n";
	cout << "size of 'vec3' is " << sizeof vec3 << ".\n";
	return 0;
}

La salida de mi computadora es:
Salida
(cada computadora no es necesariamente la misma)
según la ley del vector conocido , el tamaño del valor de la cadena no tiene nada que ver con el contenido almacenado .
El tamaño de la matriz no aparece en este programa. El tamaño de cada elemento de la matriz se multiplica por el número.


[Ejercicio básico de C ++ (5.ª edición)] Programa de ejercicios-Capítulo 4 (Capítulo 4)

Supongo que te gusta

Origin blog.csdn.net/weixin_50012998/article/details/108257791
Recomendado
Clasificación