Biến static pointer để dùng dynamic array trong C++

Hello
Mình có 1 class như sau. Trong class có 1 biến size lưu cỡ mảng, 1 con trỏ *p để cấp phát động trỏ đến 1 mảng int[size]. Thì biến static int *p khởi tạo bên ngoài class ntn nhỉ :smile:

class Test { 
private: 
   static int *p;
   static int size;
public: 
   static void show();
};
int Test::size = 0;
// how to init *p

Nhìn ngộ ngộ quá
Thank you

Gán băng null. Tuy chuẩn C

1 Like

:v quên mất, gán = NULL là khởi tạo rồi, tks bác

int* Test::p = nullptr;

đừng cấp phát động cho con trỏ, xài thẳng std::vector luôn đi

//trong file .h
class Test { 
private: 
   static std::vector<int> p;
public: 
   static void show();
};

//trong file .cpp
std::vector<int> T::p; //init
2 Likes

Em đang xây dựng 1 thư viện nho nhỏ, và em buid từ đầu a-z chỉ dùng mấy thư viện chuẩn hỗ trợ nhập xuất thôi ạ. Vì cũng học cả rồi, nên em tự cài đặt, ôn tập lại luôn ạ

rồi cũng phải viết lại mà ko xài new/delete thôi, từ đầu viết thẳng luôn ko cần new/delete cho rồi ~.~

1 Like

Vote bỏ NULL, dùng nullptr

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?