- 1 名前:デフォルトの名無しさん mailto:sage [2009/10/20(火) 16:10:55 ]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.68【環境依存OK】 pc12.2ch.net/test/read.cgi/tech/1253193779/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm codepad.org/ (コンパイルもできるし出力結果も得られるのでお勧め) ◆ソースのインデントについて 半角空白やTABでのインデントはスレに貼ると無くなります。 そのため、アップローダーに上げるのも手ですが直接貼る場合は、 全角空白か に置換すると見栄えだけはよくなります。
- 993 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:39:28 ]
- >991
やりたい事は本当に operator[] で char* & を返す事なのか? ch って char* なんだよな? string と名のつく型で operator[] だったら普通 char& が返ると思うんだが。
- 994 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:43:27 ]
- 値で返すと
memcpy(buf, &str[0], size); が実行できないんです。 error メモリ上に配置されなければならない がでます。 static char*の参照返しだと出ません。
- 995 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:44:35 ]
- わかりました。間違えてました。>>993さんのご指摘通り間違えしてました。
- 996 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:05:39 ]
- >>988 たのみます
char* , intが与えられたときに標準出力( << )に\0を含む文字列を出力したいです。
- 997 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:31:43 ]
- >>996
その前に、どういうインタフェースにしたいのか考えれ。 operator<< をオーバーロードすると cout << yourclass << endl; のような書き方ができるわけだが、 char*とintの二つのパラメータを与えるなら そういう書き方はできなくなる。 それとも const char * operator()( int ) みたいなメンバを持たせて cout << yourclass( 文字数 ) << endl; とかけるようにでもするかい^^
- 998 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:37:28 ]
- stringは、string(ch, size)で、\0を含む文字列を
cout<<に渡せるじゃないですか。 この実装はどうやってるのかわかりたいです。
- 999 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:45:50 ]
- templateクラスのメソッドってnewしたら使われてなくても全部実体化しちゃう?
- 1000 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 20:03:01 ]
- >>998
コンストラクタの話とoperator<<の話がごっちゃになってるじゃないか^^
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|