- 1 名前:デフォルトの名無しさん mailto:sage [2014/02/28(金) 07:24:44.31 .net]
- C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。 IDE (VC++など)などの使い方の質問はその開発環境のスレに お願いします。 前スレ C++相談室 part110 toro.2ch.net/test/read.cgi/tech/1389620885/ このスレもよろしくね。 【初心者歓迎】C/C++室 Ver.89【環境依存OK】 toro.2ch.net/test/read.cgi/tech/1390171944/ 次期規格C++1yはこちら C++14/C++1y toro.2ch.net/test/read.cgi/tech/1382889622/ ■長いソースを貼るときはここへ。■ codepad.org/ ideone.com/ 【重要】 hogeは禁止です。使用しないでください。 万が一hogeが書き込まれても、スルーしてください。 相手にするとあなたも荒らしと同じ扱いになります。
- 976 名前:KUSO KOTE ◆unko./w.Osri mailto:sage [2014/04/05(土) 06:50:35.55 ID:ILQmFswz.net]
- >>969
externが足りないからじゃなくて? ISO/IEC 14882:1998 7.1.2 段落4 A static local variable in an extern inline function always refers to the same object. extern inlineの部分はタイプライターっぽいフォント。
- 977 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 07:21:57.84 ID:Lxf79fPB.net]
- ものすごく巨大なデータをヘッダに書かなければならない自分をまずどうにかしろよ
- 978 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 07:26:30.69 ID:4p3tjfYN.net]
- externが要るのか知らんかった
・extern inline内の静的変数は実体が同じ ・extern inline内の文字列リテラルは実体が同じ 前者はsが同じアドレスになって 後者は"...huge data..."が同じアドレスになる 関数がexternならsにstaticは要らないということか
- 979 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 07:34:17.87 ID:eKUnQEXz.net]
- 関数がexternでなくても
inlineでなくても sにstaticがいる筈がない
- 980 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 07:47:12.92 ID:rrGengiU.net]
- 俺C/C++はよくわからんが、
// huge_data.h extern const char* const s; // huge_data.cpp, huge_data.hはインクルードしないでグローバルで const char* const s = "...huge data..."; // sを使うhuge_data.cpp以外の.cppでは huge_data.hをインクルード これでは駄目なのか?
- 981 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 08:04:10.88 ID:4p3tjfYN.net]
- >>974
質問者の意図は「何とかしてヘッダだけで済ませる方法はないか」 なのだから、その回答では駄目だな
- 982 名前:片山博文MZジェバンニ ◆T6xkBnTXz7B0 [2014/04/05(土) 08:17:35.23 ID:kCbCwa1D.net]
- VC2008,BCC32の場合はexternを付けなくても単一になった。
g++の場合はextern付けても単一化されなかった。 g++の問題みたいですね。
- 983 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 08:23:09.04 ID:cxjx9B8n.net]
- ↑これが最後のファイナルアンサー
- 984 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 08:46:29.27 ID:rrGengiU.net]
- >>976
付けなくても単一になったって、 仕様上はextern付けないと駄目なんだろ。VC/BCCは警告ぐらい出るようにしないと駄目だろ
- 985 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 08:48:36.70 ID:e3mydc3l.net]
- ↑論理的思考の出来ない馬鹿
- 986 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 08:52:58.41 ID:kCbCwa1D.net]
- bug-g++@prep.ai.mit.eduにバグレポート送りました
- 987 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 08:54:16.09 ID:e3mydc3l.net]
- ところでさ
static inline void f(); extern inline int & f() { static int var; return var; } っていう関数fは内部リンケージを持ちながらも varは翻訳単位間で同一になっちゃうの? おかしくね?
- 988 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 09:01:48.91 ID:Q7PCNbm7.net]
- そのうちまた、「ヘッダはコンパイラが提供するものなのであなたが作らないでください」厨が現われる。
- 989 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 09:22:37.95 ID:S+nT1w4a.net]
- 煽るなよ
一応規格ではそういう定義なんだから
- 990 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 10:40:34.53 ID:90I2C7qj.net]
- 今時g++なんて使う奴は情弱
- 991 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 11:10:50.62 ID:ptPAYM2R.net]
- 今はh++がきてます
- 992 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 11:24:36.69 ID:4p3tjfYN.net]
- 次スレ
C++相談室 part112 toro.2ch.net/test/read.cgi/tech/1396656048/
- 993 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 12:39:58.92 ID:jmoC0q2p.net]
- >>986
おつ
- 994 名前:片山博文MZジェバンニ ◆T6xkBnTXz7B0 mailto:sage [2014/04/05(土) 14:04:18.14 ID:pKk9GxNe.net]
- clang++はwindowsで使えないからなあ。。。
- 995 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 14:16:06.85 ID:p10Tb89F.net]
- 時代遅れ
- 996 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 14:18:56.48 ID:OrTtrRA7.net]
- windowsはまだまだ現役でしょ
- 997 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 16:24:57.59 ID:LokGB3M7.net]
- 勉強用としてはgccのヘンテコな仕様よりはVC++の方がマシ
clangが使えるならclang一択
- 998 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 19:21:33.76 ID:x1RB96gi.net]
- gccがヘンテコとか、何を持ってそう言っているのかすごい気になる
- 999 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 19:27:40.68 ID:IFpoXzod.net]
- 気になるというか、凄く臭い立つしったか臭があるだけだがw
偉大なるgccを批判できるような力量もってるやつなんて、この板にはいない。
- 1000 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 20:12:49.24 ID:RDsNMK1o.net]
- sun os 4.x でgccの野良ビルドは大変でした。
- 1001 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 20:39:33.53 ID:anSZmmIR.net]
- 某虫の記事であったけどvariable length array in structureとか勝手に拡張すんなってことだろ
批判されても仕方ない
- 1002 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 20:39:37.54 ID:EOtAE3K1.net]
- gccが駄目でclangの普及が加速しているんだろ
長い間の繰り返し建て増しで劣化したって感じじゃないのか 建て増しって言えばC++だが
- 1003 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 21:03:16.44 ID:x1RB96gi.net]
- >>995
でもそれC++14で規格になるんでしょ(Linuxのカーネルソースで使われてるし・・・とか江添さん言ってた気がする) gccの内部の作りが複雑怪奇なのはそうかもしれんが、仕様がヘンテコってのはやっぱりおかしい
- 1004 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 21:05:26.99 ID:3z3TJ4eu.net]
- 仕様が〜実装が〜って言ってると自分が満たされるんだろうよ。
ほっとうこうず。たぶんそいつそれ以上いじっても何一つ有益なもん出てこない。
- 1005 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 21:20:07.43 ID:anSZmmIR.net]
- 勉強用って話だから初学者が拡張と知らずにその記法を覚えたらどうすんだってことだろ
- 1006 名前:デフォルトの名無しさん mailto:sage [2014/04/05(土) 21:25:19.87 ID:p10Tb89F.net]
- >>997
なってねーよハゲ
- 1007 名前:1001 [Over 1000 Thread.net]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
- 1008 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|