[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/02 08:57 / Filesize : 200 KB / Number-of Response : 1009
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++相談室 part111



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 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<200KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef