[問題] 這樣的coding style好不好? (new delete問題)
大家好, 假如我的main.cpp要call一個function好幾次, 然後function需要new一堆array
算完之後要delete一堆array, 為了避免這種不必要的new和delete, 小弟我想出兩個方法
想請教各位
1. 把所有需要new和delete的array宣告在main, 然後傳進function裡, 可是這樣function
的參數量變成有點龐大...似乎不是最佳解. 以下是例子
//main.cpp
int main()
{
int *in, *out, *mid1, ....*midn;
new以上
func(in, out, mid, ...midn);
free掉
}
2. 把所有需要new和delete的array宣告成function的global variable, 然後寫一個new
函式和delete函式, 這樣似乎可以解決問題, 但是新手誡條裡面說盡量不要用global
variable, 請問我這樣做有什麼壞處嗎? 以下是例子
//main.cpp
int main()
{
int *in, *out;
new以上
func_new(); //需要傳進array的大小 這裡省略
func(in, out);
func_del();
free掉
}
//func.cpp
全域宣告
int *mid1, .......,*midn;
void func(int *in, int *out)
{
幹些事情
}
void func_new()
{
new那些全域變數
}
void func_del()
{
delete那些全域變數
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 137.110.111.129
※ 編輯: genghiskii 來自: 137.110.111.129 (06/21 05:15)
推
06/21 06:11, , 1F
06/21 06:11, 1F
→
06/21 06:11, , 2F
06/21 06:11, 2F
→
06/21 06:11, , 3F
06/21 06:11, 3F
→
06/21 06:12, , 4F
06/21 06:12, 4F
→
06/21 06:12, , 5F
06/21 06:12, 5F
→
06/21 06:13, , 6F
06/21 06:13, 6F
→
06/21 06:13, , 7F
06/21 06:13, 7F
→
06/21 06:14, , 8F
06/21 06:14, 8F
→
06/21 06:35, , 9F
06/21 06:35, 9F
→
06/21 06:59, , 10F
06/21 06:59, 10F
推
06/21 08:36, , 11F
06/21 08:36, 11F
→
06/21 08:37, , 12F
06/21 08:37, 12F
→
06/21 08:38, , 13F
06/21 08:38, 13F
→
06/21 08:39, , 14F
06/21 08:39, 14F
→
06/21 08:50, , 15F
06/21 08:50, 15F
→
06/21 08:51, , 16F
06/21 08:51, 16F
→
06/21 08:52, , 17F
06/21 08:52, 17F
推
06/21 09:27, , 18F
06/21 09:27, 18F
→
06/21 09:28, , 19F
06/21 09:28, 19F
→
06/21 09:29, , 20F
06/21 09:29, 20F
→
06/21 09:34, , 21F
06/21 09:34, 21F
→
06/21 09:35, , 22F
06/21 09:35, 22F
→
06/21 09:36, , 23F
06/21 09:36, 23F
推
06/21 12:06, , 24F
06/21 12:06, 24F
→
06/21 12:59, , 25F
06/21 12:59, 25F
推
06/21 14:15, , 26F
06/21 14:15, 26F
推
06/21 15:46, , 27F
06/21 15:46, 27F
→
06/21 17:00, , 28F
06/21 17:00, 28F
→
06/21 17:01, , 29F
06/21 17:01, 29F
→
06/21 17:04, , 30F
06/21 17:04, 30F
→
06/21 17:04, , 31F
06/21 17:04, 31F
→
06/21 17:05, , 32F
06/21 17:05, 32F
→
06/21 18:08, , 33F
06/21 18:08, 33F
→
06/21 18:08, , 34F
06/21 18:08, 34F
→
06/21 18:10, , 35F
06/21 18:10, 35F
→
06/21 18:10, , 36F
06/21 18:10, 36F
→
06/21 19:40, , 37F
06/21 19:40, 37F
→
06/21 19:40, , 38F
06/21 19:40, 38F
→
06/21 20:41, , 39F
06/21 20:41, 39F
→
06/21 20:45, , 40F
06/21 20:45, 40F
推
06/21 20:47, , 41F
06/21 20:47, 41F
→
06/21 20:54, , 42F
06/21 20:54, 42F
→
06/21 20:55, , 43F
06/21 20:55, 43F
推
06/21 23:34, , 44F
06/21 23:34, 44F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章