假設我有有一個Car.h
它定義了一個名爲Car類,我有實現Car.cpp它實現我class Car
,例如我的Car.cpp
可以是:C++數據結構對象的生命期是多少?
struct Helper { ... };
Helper helpers[] = { /* init code */ };
Car::Car() {}
char *Car::GetName() { .....}
什麼幫手陣列的續航時間? 我需要說static Helper helpers[];
? 如果我做了一些不好的做法,請讓我知道。
我發佈了一個答案,誤解了這個問題,但這是正確的。我認爲他發佈的代碼是頭文件!在任何情況下,我都會說最好的做法是使用'static'將'helpers'設置爲.CPP文件的本地文件(假設看起來很可能就是這個意圖)。 – andrewdski
@andrewdski,是的,你是對的。然而,由於'Helper'是在'.cpp'文件中聲明的,所以'helper []'是否被設置爲'static'並不會產生任何影響。 – iammilind
它會污染全局名稱空間。假設他後來寫了一個Truck.cpp,它也需要一個'helper'數組。 – andrewdski