7
Mã này đã được công bố trong http://accu.org/index.php/cvujournal, Số tháng bảy năm 2013. Tôi không thể hiểu được đầu ra, bất kỳ lời giải thích sẽ là helphfulĐầu ra của mã sau là gì?
#include <iostream>
int x;
struct i
{
i() {
x = 0;
std::cout << "--C1\n";
}
i(int i) {
x = i;
std::cout << "--C2\n";
}
};
class l
{
public:
l(int i) : x(i) {}
void load() {
i(x);
}
private:
int x;
};
int main()
{
l l(42);
l.load();
std::cout << x << std::endl;
}
Output:
--C1
0
tôi đã mong đợi:
--C2
42
Bất kỳ giải thích nào?
'void load() {i y (x); } 'xuất ra những gì bạn mong đợi. – Derek
Hoặc, đơn giản hơn, 'i {x}; ' – chris
@chris Chỉ hoạt động với C++ 11, phải không? – Derek