벡터 Vector C++
#include
#include
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable:4996)
using namespace std;
template
class veCtor {
public:
int capacity; // capacity :: 용량
int sz; // size -> sz
T* vc;
veCtor() {
capacity = 8;
sz = 0;
vc = new T[capacity];
}
~veCtor() {
if (sz != 0)
delete[] vc;
}
void push_back(int v) {
// 꽉차있을 때
if (capacity == sz) {
capacity *= 2;
T* tmp = new T[capacity];
for (int i = 0; i < sz; i++)
tmp[i] = vc[i];
delete[] vc;
vc = tmp;
}
vc[sz++] = v;
}
int size() {
return sz;
}
int empty() {
return !sz;
}
void clear() {
delete[] vc;
capacity = 8;
sz = 0;
}
T& operator[](int i) {
return vc[i];
}
};
veCtor vc;
int main() {
for (int i = 0; i < 10; i++) {
int val;
scanf("%d", &val);
vc.push_back(val);
}
printf("\n");
for (int i = 0; i < 10; i++) {
printf("%d ", vc[i]);
}
printf("\n");
printf("size :: %d\n", vc.size());
printf("empty :: %d\n", vc.empty());
//vc.clear();
printf("size :: %d\n", vc.size());
printf("empty :: %d\n", vc.empty());
return 0;
}