[問題] C++ for loop 的 string 宣告
請問以下兩個寫法,是否在記憶體的使用方面,兩者有優劣之分嗎?
兩者唯一的差別在於 path 宣告的位置不同,path 這個變數在 loop 之後也不會再用到。
我自己習慣用 (1),先宣告起來放,不會在 loop 裡面重複宣告
可是從建構/解構的角度來看,是不是沒差別呢?
補充一下,兩個都只是某個 function 裡面的 code而已
我的想法如下,煩請大大賜教。
(1) 先宣告的時候,呼叫了 default 建構子
loop 每跑一次,path 就做一次 "=" 的運算
"=" 運算的時候,若原本有資料,則會先呼叫解構子,之後再存入
上面這一行,是對的嗎? @@?
(2) loop 每跑一次,path 就先呼叫 default 再做 "=" 的運算,loop 結束則呼叫解構子
所以兩個根本沒什麼差,對嗎?
先感謝大家 ^^
-----------------------------------------
(1)
string path;
for( ... ) {
path = string("xxxx") + "zzzz";
...
if (xxx) return 1;
}
return 0;
(2)
for( ... ) {
string path = staing("xxxx") + "zzzz";
...
if (xxx) return 1;
}
return 0;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.52.202
→
03/17 19:50, , 1F
03/17 19:50, 1F
→
03/17 19:51, , 2F
03/17 19:51, 2F
→
03/17 21:14, , 3F
03/17 21:14, 3F
→
03/17 21:17, , 4F
03/17 21:17, 4F
→
03/17 21:18, , 5F
03/17 21:18, 5F
→
03/17 21:44, , 6F
03/17 21:44, 6F
→
03/17 21:45, , 7F
03/17 21:45, 7F
→
03/17 21:45, , 8F
03/17 21:45, 8F
※ 編輯: SingleStar 來自: 220.139.52.202 (03/17 21:46)
→
03/17 21:50, , 9F
03/17 21:50, 9F
推
03/17 22:25, , 10F
03/17 22:25, 10F
→
03/17 22:26, , 11F
03/17 22:26, 11F
→
03/17 22:26, , 12F
03/17 22:26, 12F
推
03/18 09:13, , 13F
03/18 09:13, 13F
→
03/18 09:14, , 14F
03/18 09:14, 14F
推
03/18 09:23, , 15F
03/18 09:23, 15F
推
03/18 11:56, , 16F
03/18 11:56, 16F
推
03/18 12:30, , 17F
03/18 12:30, 17F
→
03/18 14:04, , 18F
03/18 14:04, 18F
推
03/18 14:07, , 19F
03/18 14:07, 19F
→
03/18 14:08, , 20F
03/18 14:08, 20F
→
03/18 14:14, , 21F
03/18 14:14, 21F
推
03/18 15:23, , 22F
03/18 15:23, 22F
推
03/18 15:55, , 23F
03/18 15:55, 23F
→
03/18 16:14, , 24F
03/18 16:14, 24F
推
03/18 19:40, , 25F
03/18 19:40, 25F
→
03/18 19:42, , 26F
03/18 19:42, 26F
→
03/18 19:43, , 27F
03/18 19:43, 27F
推
03/18 19:47, , 28F
03/18 19:47, 28F
→
03/18 19:47, , 29F
03/18 19:47, 29F
→
03/18 19:48, , 30F
03/18 19:48, 30F
→
03/18 20:24, , 31F
03/18 20:24, 31F
→
03/18 20:24, , 32F
03/18 20:24, 32F
→
03/18 20:26, , 33F
03/18 20:26, 33F
→
03/18 20:27, , 34F
03/18 20:27, 34F
→
03/18 20:28, , 35F
03/18 20:28, 35F
推
03/18 20:44, , 36F
03/18 20:44, 36F
→
03/18 20:45, , 37F
03/18 20:45, 37F
→
03/18 20:46, , 38F
03/18 20:46, 38F
→
03/18 20:47, , 39F
03/18 20:47, 39F
推
03/18 20:52, , 40F
03/18 20:52, 40F
推
03/18 21:04, , 41F
03/18 21:04, 41F
推
03/18 21:11, , 42F
03/18 21:11, 42F
→
03/18 21:16, , 43F
03/18 21:16, 43F
→
03/18 21:16, , 44F
03/18 21:16, 44F
→
03/18 21:16, , 45F
03/18 21:16, 45F
→
03/18 21:18, , 46F
03/18 21:18, 46F
→
03/18 21:22, , 47F
03/18 21:22, 47F
推
03/18 21:26, , 48F
03/18 21:26, 48F
→
03/18 21:28, , 49F
03/18 21:28, 49F
→
03/18 21:29, , 50F
03/18 21:29, 50F
推
03/18 22:16, , 51F
03/18 22:16, 51F
→
03/18 22:21, , 52F
03/18 22:21, 52F
→
03/18 22:21, , 53F
03/18 22:21, 53F
→
03/18 22:33, , 54F
03/18 22:33, 54F
推
03/18 22:38, , 55F
03/18 22:38, 55F
→
03/18 22:42, , 56F
03/18 22:42, 56F
推
03/18 22:45, , 57F
03/18 22:45, 57F
推
03/19 10:00, , 58F
03/19 10:00, 58F
推
03/19 10:09, , 59F
03/19 10:09, 59F
→
03/19 10:10, , 60F
03/19 10:10, 60F
→
03/19 10:10, , 61F
03/19 10:10, 61F
→
03/19 10:10, , 62F
03/19 10:10, 62F
→
03/19 10:11, , 63F
03/19 10:11, 63F
→
03/19 10:12, , 64F
03/19 10:12, 64F
推
03/19 11:06, , 65F
03/19 11:06, 65F
推
03/19 11:15, , 66F
03/19 11:15, 66F
→
03/19 11:16, , 67F
03/19 11:16, 67F
推
03/19 13:05, , 68F
03/19 13:05, 68F
推
03/19 13:25, , 69F
03/19 13:25, 69F
→
03/19 13:25, , 70F
03/19 13:25, 70F
→
03/19 13:30, , 71F
03/19 13:30, 71F
推
03/19 16:57, , 72F
03/19 16:57, 72F
→
03/19 16:58, , 73F
03/19 16:58, 73F
→
03/19 16:58, , 74F
03/19 16:58, 74F
→
03/19 16:59, , 75F
03/19 16:59, 75F
→
03/19 17:00, , 76F
03/19 17:00, 76F
→
03/19 17:01, , 77F
03/19 17:01, 77F
推
03/19 19:01, , 78F
03/19 19:01, 78F
推
03/20 02:02, , 79F
03/20 02:02, 79F
→
03/20 02:02, , 80F
03/20 02:02, 80F
→
03/20 02:03, , 81F
03/20 02:03, 81F
→
03/21 12:15, , 82F
03/21 12:15, 82F
→
03/21 12:15, , 83F
03/21 12:15, 83F
→
03/21 12:16, , 84F
03/21 12:16, 84F
→
03/21 12:17, , 85F
03/21 12:17, 85F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):