Visualization Tool Kit(VTK)など

char*

char型へのポインタ.

const char* = char const*

const char型へのポインタ.中身の変更不可.アドレスは変更可.

const char* str = "hoge";
const char* str2 = "foo";
//str[0] = 'i'; //NG
std::cout << str << std::endl;
//-->hoge
str = str2; //OK
std::cout << str << std::endl;
//-->foo

char* const

char型へのconstポインタ.アドレスの変更不可.中身の変更可.

char* const str = "hoge";
char* const str2 = "foo";
std::cout << str << std::endl;
//-->hoge
str[0] = 'i'; //OK
std::cout << str << std::endl;
//-->ioge
//str = str2; //NG

const char* const (= char const* const)

const char型へのconstポインタ.中身もアドレスも変更不可.

const char* const str = "hoge";
const char* const str2 = "foo";
//str[0] = 'i'; //NG
//str = str2; //NG

難解な例

ポインタのポインタの場合,constの対象となるのは,中身,ポインタ,ポインタのポインタである.

char * const * data; // char型へのconstポインタへのポインタ
char const ** data; // const char型へのポインタへのポインタ
const char ** data; // 同上
char ** const data; // char型へのポインタのconstポインタ
char * const * const data; // char型へのconstポインタへのconstポインタ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

メニュー

チュートリアル

アルゴリズム(数学)

並列計算

STL

#include<memory> #include<string> #include<sstream> #include<algorithm> #include<functional> #include<numeric>

Media Foundation

【メニュー編集】
Wiki記法ガイド

メンバーのみ編集できます