[問題] 關於 const int 的 concept
關於 template < const int > 的問題 (17969篇)
free大解答了我的疑問。
但關於 CopyConstructible 且 Assignable 的 concept
我這裡有些疑問。
因為 int 是內建型別, const int 不是 assignable 也很容易理解
於是我自己寫了一個簡單的 Int 型別
===================================================
class Int
{
public:
Int(int i = 0)
:integer(i) { }
Int(const Int& i)
{
cout << "copy costructor" << endl;
integer = i.integer;
}
const Int& operator= (const Int& i) const { return *this;}
Int& operator= (const Int& i) {
this->integer = i.integer;
return *this;
}
public:
int integer;
};
int main()
{
Int a(100);
const Int b = a;
vector<const Int> vec_cInt;
vec_cInt.push_back(b);
vec_cInt[0].integer = 99; // 我故意在讓 integer 為 public
}
===================================================
我實作了 const Int& operator= (const Int& i) const; 和
Int& operator= (const Int& i);
運算子 (先不討論 const 版本的行為是否正確)
我在 main 中呼叫 const Int b = a; // CopyConstructible
而又有 const 版本的 operator= // Assignable
可是跑出的結果還是一樣 @@"
也許是我對 copy 和 assign 的 concept 看法有些出入吧
請問大家有什麼看法呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.43.16.28
→
12/20 19:44, , 1F
12/20 19:44, 1F
→
12/20 19:44, , 2F
12/20 19:44, 2F
→
12/20 19:45, , 3F
12/20 19:45, 3F
→
12/20 19:45, , 4F
12/20 19:45, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章