C++個人学習の間違いやすいノート
1611 ワード
1
変数のみを参照できます.戻り値が変数ではない式を参照できません.
通常参照に値を割り当てることはできません
非常参照は通常参照で初期化できません
2
最後に7を出力します
3
定数ポインタの値は変更できますが、その定数を参照して変更することはできません.
他の変数を指すことができます.ただし、指向する変数を変更することはできません.
4
delete配列の場合は[]
5
ABCは間違っています.
6
2つの数の値を入れ替える
もう一つのケースでは
7
奇妙な戻り値
updating……
int n = 8;
int & r1 = n;
const int r2 = r1;
変数のみを参照できます.戻り値が変数ではない式を参照できません.
通常参照に値を割り当てることはできません
非常参照は通常参照で初期化できません
2
int a = 1,b = 2;
int & r = a;
r = b;
r = 7;
cout << a << endl;
最後に7を出力します
3
定数ポインタの値は変更できますが、その定数を参照して変更することはできません.
他の変数を指すことができます.ただし、指向する変数を変更することはできません.
4
char * p = new char[10];
p[0] = 'K';
delete [] p;
delete配列の場合は[]
5
A. 。
B. , , , 。
C. , 。
ABCは間違っています.
6
2つの数の値を入れ替える
#include
using namespace std;
class A
{
public:
int x;
int getX() { return x; }
};
void swap(A &a, A &b)
{
int tmp = a.x;
a.x = b.x;
b.x = tmp;
}
int main()
{
A a,b;
a.x = 3;
b.x = 5;
swap(a,b);
cout << a.getX() << "," << b.getX();
return 0;
}
もう一つのケースでは
#include
using namespace std;
void swap(int* &a, int* &b)
{
int * tmp = a;
a = b;
b = tmp;
}
int main()
{
int a = 3,b = 5;
int * pa = & a;
int * pb = & b;
swap(pa,pb);
cout << *pa << "," << * pb;
return 0;
}
7
奇妙な戻り値
#include
using namespace std;
int &getElement(int * a, int i)
{
return a[i];
}
int main()
{
int a[] = {1,2,3};
getElement(a,1) = 10;
cout << a[1] ;
return 0;
}
updating……