Hi Leute,
hab eine Frage zu C++.
Ist der default Konstrucktor an, dann ist das Programm nur 1004 B groß.
Memory region Used Size Region Size %age Used
MFlash32: 1004 B 32 KB 3.06%
RamLoc8: 40 B 8 KB 0.49%
Aktiviere ich meinen Konstrucktor wächst die Größe gleich auf 10952 B
Memory region Used Size Region Size %age Used
MFlash32: 10952 B 32 KB 33.42%
RamLoc8: 80 B 8 KB 0.98%
Ich verstehe den Grund nicht...
Wo finde ich eine Erklärung dazu?
1 | class test { |
2 | public:
|
3 | int get(){ |
4 | return x; |
5 | }
|
6 | static test *inst(){ |
7 | static test x; |
8 | return &x; |
9 | }
|
10 | void set(int v){ |
11 | x = v; |
12 | }
|
13 | // mit Konstrucktor 10952 B code size
|
14 | // mit default konstrucktor 1516 B
|
15 | test(){}; |
16 | private:
|
17 | int x; |
18 | };
|
19 | |
20 | int main( void ) |
21 | {
|
22 | test::inst()->set(7); |
23 | return 0; |
24 | }
|
benutze den gnu c++ 14