개발관련(Development)/씨뿔뿔(C++)
2차원 Vector에 포인트 객체 넣기
Clack
2021. 3. 12. 18:08
2차원 vector 사용법을 알고나면
포인트 객체 사용하는거 말곤 큰 차이는 없는듯 하다.
// Example program
#include <iostream>
#include <string>
#include <stdio.h>
#include <array>
#include <vector>
struct profile {
char* name;
int age;
};
int main()
{
profile clack;
clack.name = "clack";
clack.age = 11;
std::cout << "clack name = " << clack.name <<"\n";
std::cout << "clack age = " << clack.age <<"\n";
std::vector<profile> profile_vec;
std::vector<profile*> profile_vec2;
profile kent;
kent.name = "kent";
kent.age = 12;
profile_vec.push_back(clack);
profile_vec.push_back(kent);
profile_vec2.push_back( new profile );
profile_vec2.push_back( new profile );
profile_vec2.push_back( &clack );
profile_vec2[1]->name = "olivia";
profile_vec2[1]->age = 13;
kent.age = 14;
std::cout << "profile_vec[1].age " << profile_vec[1].age <<"\n";
std::cout << "profile_vec2[1]->age " << profile_vec2[1]->age <<"\n";
std::cout << "profile_vec2[2]->name " << profile_vec2[2]->name <<"\n";
std::cout << "profile_vec2[2]->age " << profile_vec2[2]->age <<"\n";
std::vector<std::vector<profile*>> profile2dVector;
profile2dVector.push_back( profile_vec2 );
profile2dVector[0][1]->age = 15;
clack.age = 16;
std::cout << "profile2dVector[0][1]->name " << profile2dVector[0][1]->name <<"\n";
std::cout << "profile2dVector[0][1]->age " << profile2dVector[0][1]->age <<"\n";
std::cout << "profile2dVector[0][2]->name " << profile2dVector[0][2]->name <<"\n";
std::cout << "profile2dVector[0][2]->age " << profile2dVector[0][2]->age <<"\n";
std::cout << "test end" <<"\n";
}
clack name = clack
clack age = 11
profile_vec[1].age 12
profile_vec2[1]->age 13
profile_vec2[2]->name clack
profile_vec2[2]->age 11
profile2dVector[0][1]->name olivia
profile2dVector[0][1]->age 15
profile2dVector[0][2]->name clack
profile2dVector[0][2]->age 16
test end
그럼 이만