#include <iostream>
#include <string>
struct Food {
std::string name;
int count;
};
struct ssss {
int p;
int k;
};
struct Test {
int a;
char b;
double c;
float d;
long e;
ssss f;
};
struct안에 std::string 할당하는경우, string 크기가 어떤지 알수없는데,
Food 구조체 안에서 name, count의 메모리 주소가 연속적으로 되는건가요?
바로 밑의 Test 구조체는 정적이니깐 포인터로 카운팅해서 접근이 가능한데,
Food는 될지 모르겠네요..
쓸때는 그냥 Food.name, Food.count 형태로 쓰긴하는데, 실제 메모리 관점으로 궁금합니다.
스트링 포인터임
그럼 Food 구조체안의 std::string 포인터 변수 크기 자체는 일정하겠네요? 그럼 Food 구조체 포인터 ++로 int name에 접근도 될거같고..
stl 컨테이너는 기본적으로 내부 공간을 모두 동적할당임
아 그걸물은게 아녔네 name하고 count자체는 연속적임 근데 name 안에 스트링을 저장하는 공간은 힙임 별개의 공간
std::string도 힙이였구나.. 감사합니다
ㅇ ㅅㅇ