メインでgに渡すときに何が起こるか教えてもらえますか?それはstatic_castですか?参照を受け取る関数に渡すconstをキャストすると、どうなりますか?
int & g (int&x){x++ ; return x ; }
int main()
{
const int a=5 ;
cout<<g((int&)a)<<endl;
}
上記のコードは以下のものと類似しているので、私は、何のコピーが行われていないことを確信している:事前に
class A
{
public:
A()
{
cout << "calling DEFAULT constructor\n\n";
}
A(A& Other)
{
cout << "Calling COPY constructor\n\n";
}
~A()
{
cout << "Calling DESTRUCTOR\n\n";
}
};
A& g(A& x)
{
cout << "Inside g(A& x) \n\n";
return x;
}
void main()
{
const A a;
g(const_cast<A&>(a));
}*/
感謝:)
['main'の戻り値の型は常に' int'です](http://stackoverflow.com/questions/4207134/what-is-the-proper-declaration-of-main/4207223#4207223)。 –
@James:あなたは標準と言っていますか?私が非標準的に書いたものですか?私はあなたの答えを待っていて、ありがとうalot :) –
ちょうど最後の質問は、 "a"を変数(constではなく)にすると、どのようなキャストが適用されますか?お返事いただいた人のおかげで:) –