[問題] 資料型別
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
dev c++
程式碼(Code):(請善用置底文網頁, 記得排版)
#include<iostream>
#include<string>
std::string s1 = "hello"; // Line 4
int main(){
std::string s2 ="world";
std::cout<<s1<<" "<<s2<<std::endl;
int s1=42; // Line 8
std::cout<<s1<<" "<<s2<<std::endl;
system("pause");
return 0;
}
疑問: s1 在全域變數 資料型態是字串
在 主程式用int s1=42;擦掉字串
這樣子是合法的嗎?
另外一提,此範例在c++ primer 4/e p55
在p53頁有寫到一個變數可在程式內被宣告多次,但是只能定義一次
而本程式 line 4: 宣告s1和定義 並且初始化
當進入主程式local Line 8 :宣告同樣是s1的變數且也定義了
這樣不就違背之前寫的只能定義一次嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.125.21.48
※ 編輯: wasidada 來自: 140.125.21.48 (01/31 15:25)
推
01/31 15:27, , 1F
01/31 15:27, 1F
推
01/31 16:18, , 2F
01/31 16:18, 2F
推
01/31 16:26, , 3F
01/31 16:26, 3F
推
01/31 16:31, , 4F
01/31 16:31, 4F
→
01/31 17:44, , 5F
01/31 17:44, 5F
→
01/31 19:43, , 6F
01/31 19:43, 6F
→
01/31 22:46, , 7F
01/31 22:46, 7F
→
02/01 00:22, , 8F
02/01 00:22, 8F
→
02/01 00:22, , 9F
02/01 00:22, 9F
→
02/01 00:23, , 10F
02/01 00:23, 10F
→
02/01 00:23, , 11F
02/01 00:23, 11F
推
02/01 01:00, , 12F
02/01 01:00, 12F
→
02/01 01:01, , 13F
02/01 01:01, 13F
→
02/01 01:02, , 14F
02/01 01:02, 14F