- 1 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 15:14:51 ]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.46【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1198755167/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 692 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 05:48:03 ]
- >>691
template付けないとエラーでコンパイルできない場合がある。 .演算子、->演算子、::演算子の後ろにメンバテンプレート特殊化の 名前があり、それがテンプレート仮引数に属している場合がそう。
- 693 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 05:52:19 ]
- >>691
テンプレート内で、 this の型がテンプレート引数に依存するとき、前者のように template を明示しないと、コンパイラは this->func<type という部分を (this->func) < (type) のような比較式と認識してしまう。
- 694 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 08:21:51 ]
- "ab"でaとbの間に「"」を入れたい場合って「"a""b"」でおk?
- 695 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 08:23:28 ]
- >>694
"a\"b"
- 696 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 08:23:51 ]
- \"
- 697 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 08:29:43 ]
- ありがとう。あぶなく間違って使うところだった
- 698 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 09:05:56 ]
- まぁやったところで別に問題はないけどね、表示されないだけで
- 699 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 09:07:00 ]
- 確かになw
エスケープを "" で表現するのって、どこの文化だっけ? どっかで見た気はするんだが。
- 700 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 09:46:44 ]
- 昔のBASICだろ
- 701 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 09:50:26 ]
- だっけか。全然覚えてないや。
- 702 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 10:45:56 ]
- 試しにVBでやってみたら通ったわ。""
- 703 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 11:36:23 ]
- 演算子の優先度と結合規則がいまいちよく分かりません。
下の式を意味が変わらない範囲でカッコを外すとどうなりますか? a = ( b *= ( ( c+d ) << e ) ) ( ( * ( a[b] ) ) . c ) -> d ( a - ( ( b-c ) * d ) ) - e ( + ( ++a ) ) + ( ( b&c ) << ( d+e ) ) ( ( ( * ( a.b ) ) . c ) -> d ) ++ あと下の4つは順序を明確にするためにカッコを付ける問題です。 a + b * c - d a <<= b << c <= d a = b &= c ==d * a . b * c 参考になるサイトとかありますか?アドバイスお願いします。
- 704 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 11:39:36 ]
- 参考になるのは優先順位表
高低だけじゃなくて、右左にも注意
- 705 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 13:06:37 ]
- テスト問題とか、与えられた式を最適化するようなプログラムを作っているのでなければ
素直にカッコをつけておくというのはどうだろうか。 前提無視ですね、すみません。
- 706 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 13:40:09 ]
- 言語仕様とはちょっと違うけど今でもDB2のSQLは文字列中の"を""で表すぞ
- 707 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 15:44:34 ]
- >>703
そんなの、K&Rにかいてあるだろ
- 708 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 19:40:40 ]
- ビット演算の優先順位をちゃんと把握してる人なんてそんないないわ。
- 709 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 20:09:03 ]
- >>703
優先順位がわかりにくいときは括弧つければいいと思うよ。別にかっこ悪くないと思うよ 括弧減らしてもバグが増えたら意味が無いしな。
- 710 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 21:35:35 ]
- VC++8使ってるんですけど、グローバルスコープの関数ってやっぱり
::CreateWindowEx とかスコープ演算子つけた方が良いのですか? ネットにあるサンプルコードだと、両方見かけますが…
- 711 名前:デフォルトの名無しさん [2008/01/31(木) 21:42:54 ]
- boostを使わずにstringの文字列を小文字の文字列に変換するにはどうすればよいですか?
- 712 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:06:34 ]
- >>711
string str("HeLLo"); for (int i = 0; i < str.size(); i++) { str[i] = tolower(str[i]); } cout << str.c_str() << endl; あまりよろしくないかも。
- 713 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:12:35 ]
- std::transform(str.begin(), str.end(), str.begin(), tolower);
- 714 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:20:35 ]
- ざんねん、あなたのじっそうでは、tolowerは、「まくろ」だった
- 715 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:30:15 ]
- hoge.hで
// 構造体 struct POI{ int n; float x; }; // クラス class hoge { public: hoge(void ); // コンストラクタ ~hoge( void ); // デストラクタ private: POI poi[4]; }; と書き、 hoge.cppの hogeコンストラクタ上で poiの初期化を行いたいのですがうまくいきません。 今下のようにやっているのですがどのように直せばいいのでしょうか、どうぞよろしくお願いします。 poi = { { 1 , 0.5 }, { 1 , 0.5 }, { 1 , 0.5 }, { 1 , 0.5 }, };
- 716 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:30:29 ]
- そ、そんな実装もあるのか・・・。
- 717 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:31:24 ]
- for(int i = 0; i < sizeof poi / sizeof *poi; ++i) {
poi[i].n = 1; poi[i].x = 0.5; }
- 718 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:37:12 ]
- >>710
好きなほうでどーぞ
- 719 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:40:15 ]
- >>715
poi = { { 1 , 0.5 }, { 1 , 0.5 }, { 1 , 0.5 }, { 1 , 0.5 }, }; その形式が使えるのは宣言時だけなので >>717 みたいにしないといけません
- 720 名前:715 mailto:sage [2008/01/31(木) 22:40:59 ]
- >>717
できれば poi = { { 1 , 0.5 }, { 1 , 0.5 }, { 1 , 0.5 }, { 1 , 0.5 }, }; こういう風に一括でやりたいのですがこれは無理なのでしょうか?
- 721 名前:715 mailto:sage [2008/01/31(木) 22:42:07 ]
- >>719
すいません、見逃しました。 そうですか、わかりました。ご丁寧にありがとうございます。
- 722 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:43:14 ]
- >>720
POI poi_src[] = { { 1 , 0.5 }, { 1 , 0.5 }, { 1 , 0.5 }, { 1 , 0.5 }, }; std::copy(poi_src, pos_src + sizeof poi_src / sizeof *pos_src, poi);
- 723 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:44:45 ]
- POI poi_src[sizeof poi / sizeof *pos] = { ... };
とサイズ指定してた方が安全か。
- 724 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:45:24 ]
- それでもC++0xなら、C++0xならなんとかしてくれる……
- 725 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:47:00 ]
- static const POI poi_src[sizeof poi / sizeof *pos] = { ... };
とした方がいいか。
- 726 名前:デフォルトの名無しさん [2008/01/31(木) 23:06:46 ]
- >>713
ありがとうございます。でもコンパイル通りません。 下のソースだと、 char my_tolower(char s) { return tolower(s); } int main() { string s = "Hello world"; transform(s.begin(), s.end(), m.begin(), toupper); // コンパイル通らない transform(s.begin(), s.end(), m.begin(), my_tolower); // コンパイル通る 下のような結果になります。 test.cpp:14: error: no matching function for call to 'transform(__gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, __gnu_cxx::__normal_iterator<char*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, <unresolved overloaded function type>)'
- 727 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:08:32 ]
- >>726
>>714 ということか。
- 728 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:10:03 ]
- 何かオーバーロードされてるのか・・・
- 729 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:12:44 ]
- >>726
transform(s.begin(), s.end(), m.begin(), static_cast<int(*)(int)>toupper);
- 730 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:20:45 ]
- >>714
両方あるんじゃなかったっけ?
- 731 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:26:50 ]
- インクルードするヘッダによって違わなかったっけ
- 732 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:46:02 ]
- 両方あるなら (tolower) でいいってことか
- 733 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:46:41 ]
- #undef tolowerじゃだめなの?
- 734 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:00:42 ]
- >>732
括弧無くても大丈夫だな。 後ろに ( ) がついてないから。 それにしても、うちの gcc じゃ >>726 みたいなエラーでないんだがなあ。 バージョンが違うのか。
- 735 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:11:15 ]
- tolower(int)のほかに、tolower(char)とかtolower(wchar_t)とかあるんでしょ。
- 736 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:20:07 ]
- Cとの互換関数だから、規格的にオーバーロード出来ないと思うが。
- 737 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:20:08 ]
- なら static_cast<int(*)(int)>(tolower) とかしないといけないのか。
面倒臭いな。
- 738 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:43:56 ]
- <locale>かどこかに、第2引数にロカールをとるバージョンがあったと思う。
- 739 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:45:47 ]
- 古いヘッダ .h なら通るんだよな
謎だ
- 740 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:22:21 ]
- >>730
Cでは、関数に加えてマクロを用意しても良かったが、 C++だとそれは認められていない。 (JIS X3014:2003では17.4.1.2の6段落目。更に注(159)で明確に指摘されている)
- 741 名前:デフォルトの名無しさん [2008/02/01(金) 01:28:39 ]
- double pai(){
double i,imax,n; double x,y,pi; n=0.0; imax=10000000.0; for(i=0;i<=imax;i++) { x=rand()/(RAND_MAX+1.0); y=rand()/(RAND_MAX+1.0); if((x*x+y*y)<1.0) { n+=1.0; } } pi=n/imax*4.0; return pi; } double px(double t){ double pi=pai(); double x,ans; ans=exp(-x*x/2t)/sqrt(2*pi*t); return ans; } としたら エラー E2121 kadai1.c 27: 関数呼び出しに ) がない(関数 px ) と出ましたorz 誰か解決策わかるようでしたら教えてください(;´Д`)
- 742 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:34:28 ]
- exp(-x*x/2t)/sqrt(2*pi*t);
2t?
- 743 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:43:52 ]
- あとx初期化してないよね。
- 744 名前:デフォルトの名無しさん [2008/02/01(金) 01:44:15 ]
- c++でswitch文のcaseの中では変数宣言できないですか
- 745 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:46:26 ]
- case HOGE:
{ int t = 0;} break; ブロックで囲めばいいんじゃね
- 746 名前:741 [2008/02/01(金) 01:58:11 ]
- >742
解決しましたw あざす!!
- 747 名前:デフォルトの名無しさん [2008/02/01(金) 03:31:40 ]
- >>745
こっちも解決しました。ありがとう酢。
- 748 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:16:42 ]
- 空を自由に飛びたいな
はーい つLSD
- 749 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:11:19 ]
- LoadLibraryでもらったHMODULEはCloseHandleで処分できますか?
- 750 名前:デフォルトの名無しさん [2008/02/01(金) 19:24:52 ]
- どこで質問すればいいのかわからないほどくだらない質問なのですが、
よく引数であるchar* pszMessageのpszってどういう意味ですか? Pointer Stringはわかるんですが、Zがいったいなんなのか・・・
- 751 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:27:11 ]
- zはzero、szはヌル終端文字列のこと。
- 752 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:29:52 ]
- pointer string zero-terminated
- 753 名前:749 mailto:sage [2008/02/01(金) 19:30:06 ]
- 間違えました。
- 754 名前:デフォルトの名無しさん [2008/02/01(金) 19:31:13 ]
- >>751-752
なるほど・・ゼロでしたか 謎がとけました、ありがとうございます!
- 755 名前:デフォルトの名無しさん [2008/02/01(金) 21:29:40 ]
- c++のプログラムを書いてます。
コンソールからstringを入力させたいのですが、getline()とcinを併用すると 何回目かのcinがユーザの入力待ちにならずにそのまま長さゼロの入力を受け取った と誤解して処理が先に進んでしまうようです。何かフラッシュとかの処理が必要なので しょうか?
- 756 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 22:01:29 ]
- エラーが発生したなら
cin.clear(); するまで関数に失敗するが、 そういうわけではなくて?
- 757 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:13:42 ]
- Pointer to a String terminated by Zero
- 758 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:38:32 ]
- std::map<CString, CComPtr<ID3DXFont>> fonts;
に問題はありますか?
- 759 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:39:47 ]
- エラーが出なければ問題は無い。
エラーが出るなら問題。
- 760 名前:デフォルトの名無しさん [2008/02/02(土) 01:41:21 ]
- 質問させてください.
c言語でscanfで入力を受けるプログラムをつくりました. バッチファイルとかシェルスクリプトで入力してやりたいのですが、つまづいています. 要するに、 (実行ファイル)enter(入力)enter では無く、 (実行ファイル)(入力)enter のような感じに書く方法がありますか?ということです.
- 761 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:46:08 ]
- int argc, char* argv[]
でググれ。
- 762 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:48:35 ]
- >>760
そのレベルは……ぐぐるとかじゃなくて、本を読んできちんとした知識を身に付けた方が良いよ。 いや、マジで……
- 763 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:54:08 ]
- >>758
STLのこんてなにオートポインタの類入れると
- 764 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 01:59:29 ]
- とりあえず>>だとコンパイルエラーになったりするので> >にしとけ。
- 765 名前:デフォルトの名無しさん [2008/02/02(土) 02:37:31 ]
- 760です.確かに知識は無いです.
実は数値計算だったので簡単に済ませたかったんです. リダイレクトでパラメータをいれる代わりに、 そのまま数値を書く方法があるのかなと思って質問してみたんですが. どうやら場違いでした.
- 766 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 03:34:39 ]
- ウィンドウつくったり図を表示したりするのってWin32API勉強しないとできない?
- 767 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 03:49:03 ]
- >763
std::aut_ptrが例外的にダメなオートポインタで、 大抵のスマートポインタは入れても大丈夫じゃねーの。
- 768 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 12:09:24 ]
- VC6 だが、std::vector に CComPtr 入れると
resize でアサーションエラーが出た。
- 769 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 12:31:21 ]
- intrasive_ptr?だっけ?
まさにCOMみたいに自前でカウントしてるクラス用のスマポ
- 770 名前:デフォルトの名無しさん [2008/02/02(土) 12:46:10 ]
- string型の変数の中身をlistコンテナに一文字ずつ移そうとしてます。
for_each(string.begin(), string.end(), XXXX); みたいにfor_eachを使って書けないでしょうか?
- 771 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 12:49:16 ]
- push_backとmem_fun_ptr
- 772 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 12:50:12 ]
- mem_fun_refだったorz
- 773 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 13:03:58 ]
- これはだめ?
std::list<char> l; std::copy(string.begin(), string.end(), std::back_inserter(l));
- 774 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 14:48:54 ]
- std::list<char> l(s.begin(), s.end());
または l.assign(s.begin(), s.end()); だろ。
- 775 名前:デフォルトの名無しさん [2008/02/02(土) 15:35:03 ]
- for_each(s.begin(), s.end(), mem_fun_ref(v.push_back));
ということですか? でもこれはコンパイルできなかった。
- 776 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 16:06:20 ]
- >>775
>>773は正しい処理だが、 効率が悪いということじゃないの? 初期化の話だよな? >>775 そりゃ、あらゆる点で無理だ。
- 777 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 16:16:22 ]
- v.push_backではなくて&std::list<char>::push_backだろ
まあstd::back_inserterを使うのが最適なわけだが
- 778 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 16:18:57 ]
- 最適は774だって。 EffectiveSTL嫁。
- 779 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 16:20:27 ]
- 元の質問は for_each が使いたいらしいから、 >777 でも間違いではない。
- 780 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 16:51:44 ]
- >>777
それでもダメ。引数の数が一致しない。 せめてbind1stを使えといいたいところだが ほとんどの実装でunary_functionで参照の参照が 発生してはじかれる。
- 781 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 16:55:14 ]
- >>778
範囲指定のイテレータか
- 782 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:07:39 ]
- ぶっちゃけ、メンバ関数をforeachみたいな連中に渡すのは
面倒くさいのでboost使おう、という話になるw
- 783 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:11:23 ]
- だからfor_each使わずに>>774でいいって。
- 784 名前:784 [2008/02/02(土) 19:38:53 ]
- 質問です。
//正規分布を求めるメソッド float BestFitInfo::norDis(float x, float mean, float var){ return 1 / ( sqrt( 2 * 3.14 ) * sqrt(var) ) * exp( - (x - mean) * ( x - mean ) / ( 2 * var ) ); } //BestFitInfoというクラスを作って、 //正規分布を求めるメソッドを書いたところ、 warning C4244: 'return' : 'double' から 'float' への変換です。データが失われる可能性があります。 と言われました。すべて引数は float だし、 exp や sqrt の戻り値もそれに合わせて float のはずなので、 どこで double 型が発生しているのかわかりません。 なぜこのようなエラーとなっているのでしょうか? 分かる方がいらっしゃいましたら教えてください。 よろしくお願いします。
- 785 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:45:47 ]
- >>784
>exp や sqrt の戻り値もそれに合わせて float のはずなので、 本当か? floatのはsqrtfとかexpfじゃないのか? あと、3.14はdouble型だ。float型リテラルは3.14fと書く。
- 786 名前:784 [2008/02/02(土) 19:59:47 ]
- 785さん、お返事ありがとうございます。
3.14fと書いたら「データが失われる可能性があります」と言われなくなりました。 sqrtについて調べたところ、 double sqrt( double x ); float sqrt( float x ); // C++ only long double sqrt( long double x ); // C++ only float sqrtf( float x ); このように sqrt は多重定義されているようです。 sqrtf はC言語のときの名残のようですね。 解決しました。みなさまありがとうございました。
- 787 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 22:11:07 ]
- 質問です
僕はインクルードガードシンボルにuuidを含ませる事があるんですが Cのプリプロセッサで処理するシンボルは最大何文字までいけるんでしょう? #define HOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGEHOGE ぐらいのものは処理できるならまぁ十分なんですが気になります あと変数名や名前空間名も何文字までいけるか気になります ADLバリアを使うと結構文字数増えますし、 もしあまりに少ない文字数(例えば31文字)だったとしたら怖いんで
- 788 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 22:23:36 ]
- プリプロセッサの制限はわからんけど、
C89までは厳密には識別子は先頭6文字位じゃなかったっけ C99で32文字になったような気がしないでもない
- 789 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 22:39:22 ]
- プリプロセッサの制限はわからんけど、
内部識別子は最低32 外部が8くらいだったと思う。6かもしれん。 VC6なんかでは外部256とかで、複雑なtemplateとかで警告が出るね。
- 790 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 22:40:07 ]
- あ、これはC89ね
- 791 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:21:31 ]
- 完全にうろ覚えだけど、マクロ名などの内部識別子は、
C89が31文字で、C99は63文字だったと思う。
- 792 名前:791 mailto:sage [2008/02/02(土) 23:50:16 ]
- C++98ではCにはあったtranslation limitの既定がなくなって、長さに制限はないと明記されているね。
付録のBで内部外部ともに1024文字以上を推奨ってことになってる。(これは一応調べてきた
|

|