08/03/06 21:53:47
The C++ Standards Committee
URLリンク(www.open-std.org)
wiki
URLリンク(ja.wikipedia.org)
C++0x
スレリンク(tech板)
C++0x 2
スレリンク(tech板)
2:デフォルトの名無しさん
08/03/06 21:56:56
>>1 乙++0x
3:デフォルトの名無しさん
08/03/06 22:26:28
>>1乙
by bjarne stroustrup
4:デフォルトの名無しさん
08/03/07 04:54:57
いちおつ
ばいびょーんすっぽすっぽ
5:デフォルトの名無しさん
08/03/07 06:43:35
>>1乙禿
6:デフォルトの名無しさん
08/03/07 08:18:13
うちの会社には33歳の美少女がいる
ときどき小学生と間違われている
でも処女じゃない
7:デフォルトの名無しさん
08/03/07 08:19:09
>>1
wikiとwikipediaは違うぞw
MAILING 2008/02
URLリンク(www.open-std.org)
8:デフォルトの名無しさん
08/03/07 10:02:14
int otu(int x) { return x >>1; }
9:デフォルトの名無しさん
08/03/07 11:52:16
C++09/CLI とかヤル気あるんだろうか,マイクロソフト.
個人的には今の C++/CLI は好きだ.
10:デフォルトの名無しさん
08/03/07 11:53:24
spaced keywordとか馬鹿なことやっているところが、
標準準拠を重く見ているわけがないと思う。
11:デフォルトの名無しさん
08/03/07 13:23:22
spaced keyword 自体は標準で作る予定はないから、独自拡張で存在する分には
標準準拠の邪魔にはならないでしょ?
12:デフォルトの名無しさん
08/03/07 13:36:54
で,GCは入るのか入らないのか.
それによって俺の人生が・・・・
もう終わってるけど
13:デフォルトの名無しさん
08/03/07 13:41:43
今回は入らないはず。
けどベームさんが積極的にやってるから、
実装は今使える以上のものが出てくるんじゃないかな。
14:デフォルトの名無しさん
08/03/07 13:42:24
なんだよぉ,言語使用には入らないのか.
残念だな.まぁいいか.
15:デフォルトの名無しさん
08/03/07 13:49:34
>>12
イキロ
16:デフォルトの名無しさん
08/03/07 14:13:18
GC使いたいと思ったことがないのでよくわからん
17:デフォルトの名無しさん
08/03/07 21:54:28
boostのsharedポインターと比べて、GCって重いの?
18:デフォルトの名無しさん
08/03/07 22:00:00
あれって「ベーム」って読むのか……
19:デフォルトの名無しさん
08/03/07 22:10:33
>>17
ケースバイケース
20:デフォルトの名無しさん
08/03/07 22:14:10
ぼえへむヽ(´ー`)ノぼえへむ
21:デフォルトの名無しさん
08/03/08 00:19:53
GC はあまり言語仕様に入れて欲しくはない。
標準ライブラリにあるのは別に構わんが。
C/C++ は色んな環境に使えることが肝なんだろうし、
そういうのは強制するもんじゃなくて
選択肢としてはありますが強制ではないですよってものであってほしい。
22:デフォルトの名無しさん
08/03/08 00:24:30
強制するしないと、言語側かライブラリ側かは別の問題だよ。
個人的には「強制しない」「言語側」を支持する。
23:デフォルトの名無しさん
08/03/08 00:42:54
gcnew みたいなやつか。
まさに C++/CLI だけど、あの珍妙な文法を見ると・・・。
24:デフォルトの名無しさん
08/03/08 00:59:21
C++/CLIは考え方としては悪くないと思う。でも確かに文法設計のセンスは悪い。
25:デフォルトの名無しさん
08/03/08 01:07:33
Foo<Hoge^>^
↑笑うなよ!
26:デフォルトの名無しさん
08/03/08 01:09:14
今や Unicode が普通なんだから、もうちょっとマシな文字を使えよ、ってかw
27:デフォルトの名無しさん
08/03/08 01:10:43
なんなんだろうな、あれは。
C++界隈で相当に有名な人が設計していて、
目指す方向は悪くないのに。
やっぱり言語設計は別物なんだな。
>>22
俺も言語側に何かないと今出てる以上のものは難しいと思う。
けど最低限のもので、汎用に使える聞こうにして欲しい。
まあ禿がいる限りそう言うものしか出てこないだろうけども。
28:デフォルトの名無しさん
08/03/08 01:12:33
Pascalの時代は、^を↑と表示するシステムがあったらしいが…
29:デフォルトの名無しさん
08/03/08 01:13:45
>>26
Foo<Hoge※>※
30:デフォルトの名無しさん
08/03/08 01:16:12
Foo<Hoge/>/
31:デフォルトの名無しさん
08/03/08 01:27:29
Foo<Hoge\>\
Foo<Hoge@>@
Foo<Hoge!>!
Foo<Hoge*>*
32:デフォルトの名無しさん
08/03/08 01:39:01
* に対応する記号としてはやはり / だな・・・。
積つながりの & は既にアドレスや参照で使われてるし。
33:デフォルトの名無しさん
08/03/08 01:42:56
Foo<Hoge/>/
ちょっとXMLっぽいw
34:デフォルトの名無しさん
08/03/08 10:28:02
>>26
m17n界隈にはcharacter set independenceとかISO 2022に執着してる
アンチUnicodeの人がまだ生きてるし、変換表地獄でリアルに困ってる人もいるから、
EBCDICを気にしなくていい環境でもASCIIの範囲をはみ出すのはやめた方がいい。
特にメタ文字に使うような記号類は化けやすいし文字幅問題も出てくるから。
35:デフォルトの名無しさん
08/03/08 10:50:56
女子中学生の話題でもちきりですね
36:デフォルトの名無しさん
08/03/08 12:35:01
gcc4.3キター
URLリンク(gcc.gnu.org)
Status of Experimental C++0x Support in GCC 4.3
Rvalue references N2118 Yes
Rvalue references for *this N2439 No
Variadic templates N2242 Yes
Static assertions N1720 Yes
Declared type of an expression N2343 Yes
Right angle brackets N1757 Yes
Default template arguments for function templates DR226 Yes
Extern templates N1987 Yes
C99 Features in C++0x
__func__ predefined identifier N2340 Yes
C99 preprocessor N1653 Yes
long long N1811 Yes
もちろんg++起動オプションでオンにしたときだけ。
URLリンク(gcc.gnu.org)
37:デフォルトの名無しさん
08/03/08 12:48:43
こんせぷとまっぷはマダー?
38:デフォルトの名無しさん
08/03/08 16:01:56
Right angle brackets N1757 Yes
うおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
39:デフォルトの名無しさん
08/03/08 16:26:47
ケータイからだとさっぱりわからん
詳しく
40:デフォルトの名無しさん
08/03/08 16:29:48
携帯からでも読んでワカラン奴は必要ないということ。
41:デフォルトの名無しさん
08/03/08 16:34:38
右辺値参照 N2118 Yes
*thisの右辺値参照 N2439 No
可変個引数テンプレート N2242 Yes
静的アサーション N1720 Yes
式に対するdecltype N2343 Yes
山括弧閉じの件 N1757 Yes
テンプレート関数のデフォルトテンプレート引数 DR226 Yes
Extern templates N1987 Yes
42:デフォルトの名無しさん
08/03/08 16:35:26
DR226キター!
43:デフォルトの名無しさん
08/03/08 16:36:26
>>38
ktkr
44:デフォルトの名無しさん
08/03/08 16:38:50
結局、Proposed resolution (revised October 2002)でアクセプトされたのかな。
URLリンク(www.open-std.org)
draft読まないとな。ディフォルト引数便利だし。
45:デフォルトの名無しさん
08/03/08 17:50:46
>>6
相手は誰だ…
うらやましすぐる
46:デフォルトの名無しさん
08/03/08 18:43:27
ローアングルブラジャー!?(;゚Д゚)ポロリもあるよ!!
47:デフォルトの名無しさん
08/03/19 00:34:38
最後の書き込みがブラジャーだと哀れなので保守
48:デフォルトの名無しさん
08/03/19 20:09:10
Javaのクロージャが、
制御文やループ文のブロック仮引数使えて面白いんだが…
withLock(lockVar) {
// do something
}
void withLock(Lock l, {Lock => void} b) { ...
for foo(T i : aCollection) {
// do something
}
void foo(C<T> c, {T => void} b) { ...
49:デフォルトの名無しさん
08/03/26 00:05:23
ラムダ式はN2550でだいたい決まりかな
<> が [] になって、中にキャプチャ変数並べられるようにしたと
return は省略できないぽい?
50:デフォルトの名無しさん
08/03/26 00:09:48
おまえら最新ドラフト来てるなら知らせてくださいよ
URLリンク(www.open-std.org)
51:デフォルトの名無しさん
08/03/26 00:12:15
しかしラムダを導入するために新しいキーワードを入れる気はサラサラないんだな
52:デフォルトの名無しさん
08/03/26 02:27:35
識別子に利用できるトークン列を割り当てると、
下方互換性がなくなるからね。
あまり奇怪な記号列も困るけどラムダ式は俺的にギリギリセーフ。
あとconceptのexportは取り下げられたねw
53:デフォルトの名無しさん
08/03/26 02:56:22
コンセプトのexport?
まさかテンプレートのexportと同じように、
別の翻訳単位のコンセプトを参照する機能?
そんなのあったんだ。そりゃはいらないだろうなぁ
N2550を、今読んでいるんだけど、文法がものすごくキモいな。
本当に新しいキーワードがほしい。
新しいキーワードさえあれば、
どこでlambdaを使っているか、メモ帳ですら検索できるのに。
54:デフォルトの名無しさん
08/03/26 03:27:16
俺も素直にキーワード導入した方がいいと思う。
検索のやりやすさが全然違う。
55:デフォルトの名無しさん
08/03/26 04:26:40
N2550を読んだのだけれど、lambda-parameter-declarationって、
もしかして省略できる?
つまり、
[](){}() ;
と同じ意味で
[]{}() ;
は可能?
しかし、邪悪なコードだ。
56:デフォルトの名無しさん
08/03/26 07:11:36
ラムダ用に新しい記号を導入してくれれば・・・
57:デフォルトの名無しさん
08/03/26 11:20:09
そんなに互換性を気にするならひらがなでも使えばいい。
std::for_each(v.begin(), v.end(), ら(int x) {std::cout << x;});
58:デフォルトの名無しさん
08/03/26 12:15:33
λでいいじゃん。
λ.....トボトボ
59:デフォルトの名無しさん
08/03/26 12:30:25
#define lambda []
#define closure(captures) [captures]
こんなんほしいかもな。
60:デフォルトの名無しさん
08/03/26 12:31:44
>>55
文法のところにはっきり opt と書いてあるだろ。
61:デフォルトの名無しさん
08/03/26 19:02:17
$ 使おうぜ
62:デフォルトの名無しさん
08/03/26 19:21:48
盲点なような気がするが、\ を使えばいい気がする。
63:デフォルトの名無しさん
08/03/26 19:36:11
よくない
64:デフォルトの名無しさん
08/03/26 20:23:14
inlineとか使えそうだけどな
int n = 10;
auto x10 = inline [n] (int a) { return a * n; }
65:デフォルトの名無しさん
08/03/26 21:04:17
inline キタ━━━(゚∀゚)━━━ !!!!
66:デフォルトの名無しさん
08/03/26 21:47:25
そこでvolatileですよ
67:デフォルトの名無しさん
08/03/26 21:55:47
export でどうだ
68:デフォルトの名無しさん
08/03/26 21:57:59
extern だな。
69:デフォルトの名無しさん
08/03/26 21:58:59
inline は正直結構イケるんじゃないかと思った。
70:デフォルトの名無しさん
08/03/26 22:01:07
#define Lambda
71:デフォルトの名無しさん
08/03/26 22:02:11
書いても書かなくてもいいタイプのマクロは害悪にしかならない。
構文に影響を与えるタイプのマクロも混乱を招くしかない。
しかし元の文法からして微妙。
どうすればいいんだ。
72:デフォルトの名無しさん
08/03/26 23:43:51
おまえらもうあきらめろw
100回くらい使ってれば慣れるよきっと
73:デフォルトの名無しさん
08/03/26 23:44:27
自分はいいんだ。問題は一見さんとかに説明するとき。
74:デフォルトの名無しさん
08/03/27 00:42:10
「100回くらい使ってれば慣れる」って説明すれば良いのでは?w
75:デフォルトの名無しさん
08/03/27 05:49:53
decltype(x) lambda(x) { return x; }
76:デフォルトの名無しさん
08/03/27 07:40:59
美少女中学生にバイブをプレゼントした時みたいな反応だな
最初の抵抗感から最終的な快感への淫靡なプロセスをたどるわけだ
77:デフォルトの名無しさん
08/03/27 10:58:46
いや、その形状がドン引きするような感じだって話なのではw
78:デフォルトの名無しさん
08/03/27 11:49:13
というか美少女中学生にバイブにしろ何にしろ何かをプレゼントする機会なんてあるのかよ。
79:デフォルトの名無しさん
08/03/27 13:39:31
あるか、ないか、ではなく、つくるんだよ。迷惑だろうけど。w
80:デフォルトの名無しさん
08/03/27 19:36:34
プレゼントではなくセクハラです。
81:デフォルトの名無しさん
08/04/06 20:01:37
何イッとるんだこのスレは
82:デフォルトの名無しさん
08/04/06 20:11:06
女子中学生にラムダを教えるにはどうすればいいのか検討するスレです
83:デフォルトの名無しさん
08/04/06 21:25:26
女子中学生にランダバを教えたい
84:デフォルトの名無しさん
08/04/06 23:25:53
ランバダのことか。
85:デフォルトの名無しさん
08/04/06 23:27:34
>>83-84フイタ
86:デフォルトの名無しさん
08/04/07 00:16:53
しかしあのラムダの構文は邪悪すぎると思うのだが ...
旧キャスト並に邪悪だ。
87:デフォルトの名無しさん
08/04/07 00:21:24
何が邪悪ですか?
旧キャストとはCスタイルのキャストのこと?
だとして、構文が邪悪?
88:デフォルトの名無しさん
08/04/07 00:23:29
おい誰か lambda introducer に inline 強制しろって提案出してくれよ。
こういうときに、えぴなんとか通せばいいの?
89:デフォルトの名無しさん
08/04/07 00:35:49
本来その手の提案とか defect report とかは comp.std.c++ が窓口なんだけど、
今年に入ってからトラブってるらしいんだよなあ。他の人はどうしてんだろ。
90:デフォルトの名無しさん
08/04/07 00:41:35
とりあえず proposal のところに書いてあるメルアドに投げとけばよいような?
91:デフォルトの名無しさん
08/04/07 07:53:48
いや、やっぱ [&] (const employee& e) {e.salary()=...}
とかいう構文は邪悪でしょう...
92:デフォルトの名無しさん
08/04/07 09:39:32
だから、どう邪悪なのか説明してくれんと頭の悪い漏れには判らん
93:デフォルトの名無しさん
08/04/07 11:27:58
個人的には一つのまとまりとして見づらい構文はやめて欲しいなぁ。
94:デフォルトの名無しさん
08/04/07 13:27:49
キーワードがあるほうが単純に検索できて良いと思うな。
そういう意味ではCスタイルキャストのいやらしさと似てる。
95:デフォルトの名無しさん
08/04/07 14:24:31
そんなに検索したいなら/*lambda*/[~とでも書けばいいだろ
96:デフォルトの名無しさん
08/04/07 15:22:33
美少女中学生のグンゼのおばんつにおかんがマジックで名前を書いている状態か!
97:デフォルトの名無しさん
08/04/07 21:31:48
for も if も検索しにくいけどね
98:デフォルトの名無しさん
08/04/07 21:46:43
lambdaが検索し易くなければならない理由も判らなければ、
検索しにくい事がどう邪悪なのかも判らん
もっと判り易く説明してくれ
99:デフォルトの名無しさん
08/04/07 21:48:48
関数適用だって検索しにくいしなあ
関数適用が検索し易くなければならない理由もないけど
100:デフォルトの名無しさん
08/04/07 22:29:38
>>97-99
なんか必死だなあw
どちらかといえば探せたほうがいいかな、という程度の話なんだけどね。
関数の先頭とかも検索しにくいわけだから、構わんといえば構わんか。
あとは美観の問題だね。
101:デフォルトの名無しさん
08/04/07 22:39:50
>100
その程度の話なら別にいいんだけど,
邪悪だなんて穏やかでない言い方してるから
なんか構文的に問題があるなら教えてくれ、ってだけなんだけど
102:デフォルトの名無しさん
08/04/07 22:41:37
ここで言ってる邪悪というのは美観の問題じゃないかな。
構文の問題とかはさすがにないんだろ、偉い人が考えたんだから。w
103:デフォルトの名無しさん
08/04/07 23:13:22
いや、どう考えても邪悪な類のコードだろ
104:デフォルトの名無しさん
08/04/07 23:17:11
goto は何にでも使えるから邪悪なように、
使い回すにしてもどれを使い回すか結構考えないと、
goto と同じくらい邪悪になってしまう。
105:デフォルトの名無しさん
08/04/07 23:19:39
ラムダ式の何がどう邪悪なのかもうちょっとkwsk
106:デフォルトの名無しさん
08/04/07 23:21:28
レベルの低い奴は無視しろ
107:デフォルトの名無しさん
08/04/07 23:50:42
おっぱいの標高が低い美少女中学生ならみっちりねっとりお相手をお願いしたい
108:デフォルトの名無しさん
08/04/07 23:51:44
括弧が続いて読みづらい
109:デフォルトの名無しさん
08/04/07 23:57:24
コンビネーションですむのにそうしないところがラムダ式の存在の邪悪さ
110:デフォルトの名無しさん
08/04/07 23:59:44
それを言うならコンビネータじゃなかろか?
111:デフォルトの名無しさん
08/04/08 00:05:07
何か勘違いしてるんじゃないか?
コンビネータもλ式の一種だぞ。
112:デフォルトの名無しさん
08/04/08 00:08:03
単に [&] という三文字の並びがキモイ
113:デフォルトの名無しさん
08/04/08 00:10:44
俺は >>112 だな。難しいことはよくわからん。w
114:デフォルトの名無しさん
08/04/08 00:12:54
キモいよな。
115:デフォルトの名無しさん
08/04/08 00:18:39
エディタのマクロで保存時にλを[&]に変換すれば桶
116:デフォルトの名無しさん
08/04/08 00:24:35
白スクを着てひざを抱えつつこっちを見てにっこりしている美少女中学生にしか見えない
117:デフォルトの名無しさん
08/04/08 00:27:35
ついにC++も AA 言語になってしまうのだなあ
118:デフォルトの名無しさん
08/04/08 00:40:30
新しい刺激に慣れるのに時間が掛かるタイプの人がいるのですね
119:デフォルトの名無しさん
08/04/08 00:52:29
いじりまわせばくせになる!!!!!!!!!!!!!!!!!!!!!!!!!
120:デフォルトの名無しさん
08/04/08 01:01:22
Perl とかいつまで経ってもキモいし。
121:デフォルトの名無しさん
08/04/08 01:09:38
美少女中学生のアレはキモくないぞ
122:デフォルトの名無しさん
08/04/08 01:10:04
同じシンボルでも$とか@とか[]とかの付けかたで参照する変数が違うからなー
123:デフォルトの名無しさん
08/04/08 01:16:09
つける下着で印象が変わるわけだな
124:デフォルトの名無しさん
08/04/08 02:02:33
今<>のパース失敗してるみたいに
[&]とoperator[]が絡んでおかしなことにならねえかな
125:デフォルトの名無しさん
08/04/08 02:03:22
"λ" が使えない処理系ではtrigraphとして "[&]" で代用しても良いというのなら許す
126:デフォルトの名無しさん
08/04/08 02:45:24
autoでもわかるように、どうあっても予約語増やす気は無いんだろう
127:デフォルトの名無しさん
08/04/08 02:49:24
おまえらはもうboostのラムダつかってなさい
128:デフォルトの名無しさん
08/04/08 03:03:30
__TheLambdaExpressionKeywordOfC++0xとか絶対かぶらないようなキーワードにすればいいのに
129:デフォルトの名無しさん
08/04/08 07:31:32
_Lambda をキーワードとして採用し、
#define lambda _Lambda を行うヘッダファイル lambda を用意すればいい。
130:デフォルトの名無しさん
08/04/08 08:31:41
美少女中学生の全裸ランバダ
131:デフォルトの名無しさん
08/04/08 08:36:47
>>129
それなんて _Bool ?
132:デフォルトの名無しさん
08/04/08 13:16:48
美少女中学生と lambda がいい具合に入り乱れててワロタw
133:デフォルトの名無しさん
08/04/08 14:23:30
ここまで来ると lisp 系言語の () の方が可愛く見えるな > lambda
134:デフォルトの名無しさん
08/04/08 19:27:05
この先も予約語増やさずに変な記号の組み合わせや予約語の転用でどんどん機能増やしていくんだろうか
C++2xくらいでは酷いことになってそうだ
135:デフォルトの名無しさん
08/04/08 19:43:39
オペレーター定義可能なHaskellに比べたら
136:デフォルトの名無しさん
08/04/08 20:06:52
C++の将来は墓穴掘ってユーザーからサヨナラされそうだな
137:デフォルトの名無しさん
08/04/08 20:10:45
既にもうマイナな言語だから大丈夫。今でも使ってる好き者たちなら付いてくるさ。w
138:デフォルトの名無しさん
08/04/08 20:19:48
2029年か。想像できんな。
妄想してみるか。
・十分にハードウェアが高速になったとして、とうとうC++にもevalを導入
・メタプログラミングや賢いマクロを積極的に仕様に盛り込むことで、新たな文法を定義可能
例えば、LispやPerl、Pythonはおろか、Brainf*ckやWhitespaceまでもがC++としてコンパイル可能
・現実世界で、本当にほしいライブラリが標準規格に盛り込まれる(XMLとかUnicodeとか)
・Bjarne Stroustrupがフサフサになる
C++以外の妄想
・宗教戦争は終わらない:言語、OS、コンパイラ、エディタ
・既に64bitが主流になり、32bitコードは16bitコードなみの扱いを受けている
・メモリを数十GB確保することは当然である
・そのようなハードウェアでも、最新の3Dゲームはまだ遅い
・96DPIより高いDPIのディスプレイが使われている。
139:デフォルトの名無しさん
08/04/08 20:31:44
関数型言語が主流になっているだろうな
140:デフォルトの名無しさん
08/04/08 20:57:47
>>138
2029年までC++は現役でいられるんだろうか?…
寧ろ、現役であることのほうが問題だとも感じてしまうのだが、C++0x仕様策定の経緯を考えると
僅か数年のライフサイクルの為にそんなことしないとも思えるわけで…
まだCPUが8ビットでOSなんか載ってなくて、アセンブリでがんがってた時代を顧みると、
既に量子コンピュータは無理としても量子マイコンみたいな4キュービットマシンがあったりしてw
そういやtime_tが32ビット符号付なLinuxディストリビューションが2038年にオーバーフローする件、
Y2Kのような事は起きないんだろうな
それまでにtime_tは64ビットは当たり前だったりするだろうし、CPUのレジスタやアドレス空間が
512ビット幅だったりしてねw
メモリはTBは余裕なんじゃないの?
15年くらい前は4MBとかだったのに15年程度で1~2GBが標準だし
HDDなんかがTB越えてEBとか新たな単位がデファクトスタンダード化してたりして
妄想楽しかったわ
141:デフォルトの名無しさん
08/04/08 21:09:01
>>138
・GCは本当にC++標準になるか?
・CRTPの果たす機能を、より一般的でかつ抽象的な機構で実現できないか?
・daemon method, accessor hook
142:デフォルトの名無しさん
08/04/08 21:12:28
>>140
2038年問題は考えてたけれど、2029年には早すぎると思って入れるのをやめた。
人間が騒ぎ出すのは、大抵、問題がひっ迫してからだから、数年後に迫らないと、
本格的に議論されないと思う。
Y2Kのようなことはおきるね。32bitコードはそこらかしこで動いているだろうから。
一体誰がコンパイルしなおすの?
というか標準規格厨としては、POSIXのCライブラリは嫌い。
ANSI CやC99とは微妙に違うし。
というかそもそもCライブラリ自体が古いから、使われなくなってくれれば、うれしいんだけどなぁ。
>CPUのレジスタやアドレス空間が512ビット幅
というか本音を言うと、本当に64bitに移行できているかどうかも怪しい。
最悪、いまだにWindowsは32bit版が発売されているということも。
>HDDなんかがTB越えて
HDDに置き換わるものは、やはり20~30年ぐらいじゃ無理かな。
143:デフォルトの名無しさん
08/04/08 21:27:47
>>141
mixin だな。今の C++ に足りないのは。
144:デフォルトの名無しさん
08/04/08 21:29:44
conceptはmixin風に使えるけど、
access controlがないのが痛いね。
145:デフォルトの名無しさん
08/04/08 21:31:58
>>142
まあY2Kと同じで大した問題は起きないだろうな。
と油断しておけば、いろいろ問題が起きて楽しめるかも。w
146:デフォルトの名無しさん
08/04/08 21:36:25
>>142
冷静に考えると、CPUのアドレスバス幅を512bitなんかにする恩恵は殆ど無いね
64bitでも十分なアドレス空間があるし
確かに、32bitCPUのライフサイクルは長かった、というか今も64bitコアを64bitとして使ってる
OSは全体からすれば少数だろうし
CはもうC++のサブセットでいいんじゃないの?
今もC++コンパイラがオプションでCコンパイル出来るけど…
よりOOP色、AOP色強くなればなるほど、C標準ライブラリを使用することへの危機感はでかくなる
だろうし…
POSIX俺も好きじゃないし、なんやかんやいいつつも、ISOベースでいいとおもってるし
直近じゃC++0x、boostの幾つかを標準ライブラリとしてstdネームスペースに取り入れるようだし
それはコンパイラとしては歓迎されるのかも?
新コンパイラ出たところで、2038年問題とも絡んで古いコードは存在し続けるわけで、古い
コンパイラを使うだろうから新しいライブラリを使用するのは暫く様子を見ることになるんだろうし
32bitのソースなど、下手すりゃポインタ変数のサイズ=4バイトと決めうちのコードもあるから
リコンパイルだけじゃ済まなそう…
アライメント違反も出そうだなあ
とはいえ、プリプロセッサが2029年まで残ってるんだろうか?
今の俺の脳味噌ではプリプロセッサが無いと大変に困るわけだけど…
EffectiveC++なんかに指南される
#define FOO "foobarfoo"
よりも
const char* const FOO = "foobarfoo";
を使え、これは分かるが、
#if/#ifdefが無いのは困るし、マクロ定義が使えずにインラインというのもそれはそれでデバッグログ
出すときに困る…
147:デフォルトの名無しさん
08/04/08 21:39:05
2038年問題はスレ違い
148:デフォルトの名無しさん
08/04/08 21:40:01
namespace階層入れて欲しいなあ。
stdがどんどん増えるのは好ましくないと思う。
149:デフォルトの名無しさん
08/04/08 21:49:59
>>144
もうちょっとkwsk
150:デフォルトの名無しさん
08/04/08 21:56:36
>>148
> stdがどんどん増えるのは好ましくないと思う。
わからなくはないが、STLの大半がコンテナであるうえに、stdというネームスペース名を考えると、
確かに新しい標準ライブラリは異なるネームスペースに入れて貰いたいという気もしなくもない
ついでに、マクロに C++0x 対応コンパイラなのかどうかを判別するマクロ用意して欲しいんだけど、
既にそれは予定済みだったりしてw
151:デフォルトの名無しさん
08/04/08 21:59:10
C++ にはヘッダファイルってものがあるから
気軽に using できない。
そう考えると、あんまり標準ライブラリの階層深いと
ダルくなると思う。
152:デフォルトの名無しさん
08/04/08 22:08:51
>>150
__cplusplusの値が増えているんじゃないの?
153:デフォルトの名無しさん
08/04/08 22:16:47
>>151
それそれ、頼むからヘッダファイルで using namespace std; とかしないで欲しい!
だが、今のPRJではそこら中にあるんだよね…
そんなに std::string とか std::vector って書くのがめんどくさいのかね
>>152
それもそうだw
__cplusplusなんて値を意識しないもんなぁ extern"C" くらいにしか使わないからw
154:デフォルトの名無しさん
08/04/08 22:42:46
美少女中学生を namespace 俺の姓; で囲んでバラ色の生活をだな
155:デフォルトの名無しさん
08/04/08 22:49:26
ADL対策でstlの中にも名前空間を作っていけないとやっていけないんじゃないのか?
156:デフォルトの名無しさん
08/04/08 23:23:08
>>151
単純にスタティックなオブジェクト言語の限界だと思うんだが
157:デフォルトの名無しさん
08/04/08 23:47:46
>>151
ヘッダも今や階層化されてるし。
>>156
そんなの関係ないねえ
158:デフォルトの名無しさん
08/04/09 00:30:10
>>157
> そんなの関係ないねえ
どんな意味で関係ないんだろ? >>151, >>156 は
> ヘッダも今や階層化されてるし。
このことを問題にしてるんじゃないのか?
159:デフォルトの名無しさん
08/04/09 00:45:23
皆の見解をまとめると、これからはD言語の時代ってことか。
160:デフォルトの名無しさん
08/04/09 01:54:30
それはない
何だかんだ言ってもここ20年間はおおむねCとC++の天下だったし、
それはこの先も変わらないだろうな
161:デフォルトの名無しさん
08/04/09 03:09:07
関数型言語に取って代わられるだろうと予想する。
オブジェクト指向やC++にはスマートさで限界を感じる。
162:デフォルトの名無しさん
08/04/09 04:26:18
まさか
LISPが誕生して50年になるけどその間に関数型言語が主流になったことなんて一度もないだろ
163:デフォルトの名無しさん
08/04/09 04:44:38
>>162
ほんとにそうよね。
まあ、最近よく言われてるのは、
宣言型とか手続き型、静的とか動的の垣根がなくなっていくってのかな。
あとは、1つの言語で全部書くんじゃなくて、
多言語混在開発な方向に進んで行ってる。
というのを考えると、やっぱり C++ には限界を感じるんだけど。
164:デフォルトの名無しさん
08/04/09 07:18:34
For me, easily the biggest news of the meeting was that we voted lambda functions and closures into C++0x.
・・・・・・・・・・・・・・・・・・
by Sutter
なぜlambdaやclosureに拘っているのかもわからん。
MSはF#に本腰を入れてるようだけど。
いずれにせよC++色々取り込みすぎて記述レベルに難があるとは思う。
165:デフォルトの名無しさん
08/04/09 07:48:48
>>161
D言語はpure関数とかを導入して、関数プログラミングを取り込む方向で動いてるみたいだね。
URLリンク(www.digitalmars.com)
どうなるかわかんないけど。
166:デフォルトの名無しさん
08/04/09 07:55:09
ついおこづかいでアクセサリーを買い込みすぎてしまう美少女中学生
167:デフォルトの名無しさん
08/04/09 08:29:09
>>166 美少女中学生以外は眼中にないのか?
168:デフォルトの名無しさん
08/04/09 08:57:25
>>164
わからん方が鈍いと思うけどね。
169:デフォルトの名無しさん
08/04/09 09:15:35
>>168
schemeをやってきた俺は勝ち組だがな。C++はのλはモドキだ。
170:デフォルトの名無しさん
08/04/09 09:25:40
馬鹿丸出しだな。
171:デフォルトの名無しさん
08/04/09 09:30:06
記述レベルに難がある
モドキ
だけじゃなくて、具体的に言わないと。
愚痴書くスレじゃないから。
172:デフォルトの名無しさん
08/04/09 09:32:05
やっべー、薄っぺらいことがばれてもうたwww
でもテンプレートの可読性の低さは難だろ。キモ構文のオンパレード
それでもあなたはC++に期待しますか?
173:デフォルトの名無しさん
08/04/09 09:39:49
メタをテンプレートで実現するのは難アリ。
174:デフォルトの名無しさん
08/04/09 09:45:09
>>171
例えばscheme処理系は言語の機能として構文拡張が可能。
C++は言うに及ばず。
175:デフォルトの名無しさん
08/04/09 09:53:56
Schemeと比べてああだこうだ言われても。
Schemeのプリミティブは強力だけど、
Schemeだって得意じゃないことは一杯あるし。
C++のclosureは、Javaの奴みたいに、
コントロール拡張について考慮されてないのが寂しいですねえ。
176:デフォルトの名無しさん
08/04/09 10:53:42
>>175
>C++のclosureは、Javaの奴みたいに、
>コントロール拡張について考慮されてないのが寂しいですねえ。
もうちょっとkwsk
177:デフォルトの名無しさん
08/04/09 11:23:44
つ URLリンク(jazoon.com)
178:デフォルトの名無しさん
08/04/09 11:25:27
range-based for-loopと絡めたいね。
179:デフォルトの名無しさん
08/04/09 12:31:24
>>162
まるでLISPが関数型言語みたいな言い方だな。w
180:デフォルトの名無しさん
08/04/09 13:17:07
自分の知識がきっちりしていることをひけらかすだめだけの
細かい突っ込みは痛々しいよ。
その「句点のあとのダブリュー」に突っ込むくらい虚しいことだ。
181:デフォルトの名無しさん
08/04/09 13:17:51
美少女中学生が丸出し!
182:デフォルトの名無しさん
08/04/09 13:35:51
いい加減中学生から離れろ。
183:デフォルトの名無しさん
08/04/09 13:38:14
そうだそうだ。中学生なんてババアだろ。
184:デフォルトの名無しさん
08/04/09 14:50:27
>>180
あやふやな知識じゃ自慢できませんものね。w
185:デフォルトの名無しさん
08/04/09 15:14:33
自慢というか、自爆。
186:デフォルトの名無しさん
08/04/09 16:44:56
美少女中学生の初めての自慰はダイソーバイブと相場が決まっていてな
187:デフォルトの名無しさん
08/04/09 17:39:48
つまりUnlambdaサイコー!ということですね
わかります
188:デフォルトの名無しさん
08/04/09 21:42:03
>>177
遅くなりましたけれどありがとうございます.
finally 周りを省略するための使い方は, scope guard 系の技法に
lambda expression を組み合わせれば C++0x でもおよそそのまま転用できそうですね.
Listener に Event 設定したり, thread function の設定に使うのは
C++ だと lifetime の問題が出てくるのでそのまま転用するのが
難しい局面が出てくると思いますけれど,
これはコントロール云々とは直接は関係ないですかね.
189:デフォルトの名無しさん
08/04/10 15:51:50
>>138
Dスレから来ました
> Brainf*ckやWhitespaceまでもがC++としてコンパイル可能
DでBrainfuckをDの関数としてコンパイルするサンプルはもう作ってみたよ。
C++でもテンプレートプログラミングが変態的になればできると思う。
メモリ管理がうまくいけばJavaあたりはC++で直接いけるような気がします
190:デフォルトの名無しさん
08/04/10 16:11:46
Dか。
Dはやねうらおが一時期信者だったので敬遠してたんだが、
今は離れたみたいだし、ちょっと遊んでみようかな。
流行るとは思わないけれど。
191:デフォルトの名無しさん
08/04/11 11:57:20
>>190
「誰々が信者だったから~」
なんともくだらない理由だなww
192:デフォルトの名無しさん
08/04/11 12:15:17
Rubyはまつもとが××信者だったから~
193:デフォルトの名無しさん
08/04/11 12:50:57
生理的に駄目なやつっているだろ
美少女中学生の生理なら駄目じゃないぞむしろ大歓迎
194:デフォルトの名無しさん
08/04/11 18:00:43
製作者がGPL信者だったから敬遠しますた
195:デフォルトの名無しさん
08/04/11 18:02:33
それは実害があるからしゃーないが・・・
坊主憎けりゃ袈裟まで憎いとか俺には一生分からない感情だろうな。
196:デフォルトの名無しさん
08/04/11 18:30:23
「誰誰が信者だったから~~」
「坊主憎けりゃなんとやらか」
「でも今日は気にしないよ」
「あー、"今朝まで憎い"ってか」
197:デフォルトの名無しさん
08/04/11 18:43:42
まつもとはいいかげん他言語を煽って目立とうとするのはやめてほしいんだが
煽りの内容もお前が言うなレベルの低次元なものだし・・・
198:デフォルトの名無しさん
08/04/11 19:10:56
子供っぽい美少女中学生はどこが坊主?
199:デフォルトの名無しさん
08/04/11 19:27:21
結局 Python に落ち着いた漏れ.
でも最近は仕事じゃPHPばっかりで萎える.
200:デフォルトの名無しさん
08/04/11 20:40:51
まぁ標準みたいなもんだし
201:デフォルトの名無しさん
08/04/11 23:00:49
C++0xはC++1xになるのだろうか…
202:デフォルトの名無しさん
08/04/12 09:07:38
0f までいけるからまあ大丈夫だろ。
203:デフォルトの名無しさん
08/04/12 09:27:12
07までだろ…
204:デフォルトの名無しさん
08/04/12 11:47:56
それは盲点だった
205:デフォルトの名無しさん
08/04/12 11:50:32
いいかげん0のプリフィクスで8進数リテラルっての止めて欲しい
誰も使わない上に紛らわしい
pythonを見習って止めるべし
206:デフォルトの名無しさん
08/04/12 11:51:15
つ 互換性
207:デフォルトの名無しさん
08/04/12 14:32:37
パーミション設定するときに使うべ。
208:デフォルトの名無しさん
08/04/12 14:51:09
そうだな
パーミションは3ビットだから8進使うと便利だな
209:デフォルトの名無しさん
08/04/12 14:55:54
そのために8進表記があるんじゃないのか
210:デフォルトの名無しさん
08/04/12 14:59:15
別にパーミションのためにあるわけじゃないぞ。
211:デフォルトの名無しさん
08/04/12 15:00:11
for all 3bit user
212:デフォルトの名無しさん
08/04/12 16:04:49
それより2進表記を作ってくれ 0b0100110101010 みたいな
213:デフォルトの名無しさん
08/04/12 16:08:27
読みづらいから D みたいに区切りを入れられるようにしてくれ。
214:デフォルトの名無しさん
08/04/12 17:27:33
>>212
これ良く書かれてるんだけど
0xdcとかが11011100とかに見えないの?
実に不思議だ
215:デフォルトの名無しさん
08/04/12 17:28:57
TMPで2進表記をする有名なサンプルがあってだな・・・
216:デフォルトの名無しさん
08/04/12 17:34:12
>>214
「実質ゼロ時間・ゼロ労力」でできるのはせいぜいその辺の変換+αくらいで、
その程度ではまるで不便だから「よく書かれる」んだろう。
もし「0xdcが11011100に見えないレベルの人が」よくこの要望を出しているのだと考えているなら、
勘違いで自分を相対的に持ち上げすぎ。不思議っていうか、君が不思議ちゃんだよw
217:デフォルトの名無しさん
08/04/12 17:36:42
頭の中で変換可能ならリテラルの表記は10進のみでおk
という話しになってしまうな
ただ二進数だと桁が多くなるから区切りがないと返って可読性落ちるな
218:デフォルトの名無しさん
08/04/12 17:40:15
>>216
どういうこと?
16進と2進は直接4桁ごとに変換できるから2進表記はないんだろ?
そしてそれをほとんどができるから
よく書かれるってのは皮肉で書いたんだけど
219:デフォルトの名無しさん
08/04/12 17:40:54
皮肉っていうのはおまえいつもそれ書いてるなって意味
220:デフォルトの名無しさん
08/04/12 18:02:42
俺は脳内で変換できるから、5進数でも大丈夫
221:デフォルトの名無しさん
08/04/12 18:04:05
16進でいいだろってのは釣りなんだから相手にしないでおけ。
222:デフォルトの名無しさん
08/04/12 18:28:35
C系言語使うつもりなら
・2進 <-> 8進 <-> 16進の変換
・0xF*0xFまでの16進九九
・文字定数 <-> ASCII値
・主要な2^n値の10進表記(n=1~16,20,24,30,31,32,40,63,64あたり)
くらいは身につけてるのが常識だし、マナーだと思ってたが
最近はそうでもないのか
223:デフォルトの名無しさん
08/04/12 18:30:39
身につけるのが常識である事と、
そのままでいいこととは別の話だろ?
224:デフォルトの名無しさん
08/04/12 18:34:33
そんなのまで言語側で面倒見るべきではないと思うぞ
九九を知らない奴が家を設計できるようになることが良いこととは思えない
225:デフォルトの名無しさん
08/04/12 18:34:38
0b0100110101010
こんなのぱっと見て長すぎて分かりにくいし
たかだか16個のビットパターン覚えられないって方がネタだろ
226:デフォルトの名無しさん
08/04/12 18:38:18
>>222
この辺、本当にそう思うならちょっと披露して欲しいと思った。
・8進16進変換
普通の人は、2進を介在させないと難しいと思う。
・16進9x9
必要になるケースがレアすぎる。
・2^nのnが40とか64とか。
nが16以下なら普通に言えるけど。nが32でさえ桁数が多すぎて普通は無理。
227:デフォルトの名無しさん
08/04/12 18:38:20
D みたいに自由にアンダースコア入れれるようにすればいい。
228:デフォルトの名無しさん
08/04/12 18:38:45
>>222
そんな化石言語使いません。
229:デフォルトの名無しさん
08/04/12 18:39:30
マクロとか書けるけどな。
でも、できるなら言語的にサポートされてほしい。
230:デフォルトの名無しさん
08/04/12 18:40:18
0b001101000101ならすぐ0x345とわかるけど
これを0b1101000101とか書かれると困る
0bの後に続く数は4の倍数個に制限するべきだが、導入されたとして多分そうはならないだろ
だったら有害なだけ
231:デフォルトの名無しさん
08/04/12 18:40:59
いや32なら簡単だろさすがに
232:デフォルトの名無しさん
08/04/12 18:41:41
>>231は思いっきり勘違い
233:デフォルトの名無しさん
08/04/12 18:42:55
>>230
D ではこう書く。
0b11_0100_0101
234:デフォルトの名無しさん
08/04/12 18:43:18
特にメモリが4Gに迫って色々あったり2038年問題の影がちらつきだしたこのご時世に
2^31と2^32の10進値も知らないコンピュータ技術者がいるなんて信じたくない
235:デフォルトの名無しさん
08/04/12 18:44:27
だから、概数を覚えていることと全桁そらで言えることは違うって。
236:デフォルトの名無しさん
08/04/12 18:45:06
およそ40億としか覚えてなかった
1048576までなら覚えてるけど
237:デフォルトの名無しさん
08/04/12 18:45:36
20億代と40億代だと覚えておけば、
細かい値が必要なときだけ電卓でポンでいいだろ。
無駄な事覚えるのはタダのバカ。
238:デフォルトの名無しさん
08/04/12 18:48:05
約21億と約43億としか覚えてないなぁ
けど2^24は16777216って覚えてるな
239:デフォルトの名無しさん
08/04/12 18:48:14
>>234
2^10 = K
2^20 = M
2^30 = G
で十分だ。
240:デフォルトの名無しさん
08/04/12 18:49:04
>>238
俺も 16777216 は覚えてるな。
何か覚えやすい並びだしな。
241:デフォルトの名無しさん
08/04/12 18:50:18
>>239
Gってのは文脈によって1073741824・1047586000・1024000000・1000000000を意味する可能性がある
全然十分ではない
242:デフォルトの名無しさん
08/04/12 18:51:08
>>239
2^10=1024も知らないとか冗談だろ?
243:デフォルトの名無しさん
08/04/12 18:51:51
1024 は流石に知らないと恥ずかしいな。
244:デフォルトの名無しさん
08/04/12 18:53:29
>>241
例えば伝送速度は1k=1000、メモリ容量などは1k=1024換算だ。
>>242
んなもん覚えてるわ
245:デフォルトの名無しさん
08/04/12 18:53:37
2^31=2147483648は結構覚えやすいと思うんだけどな
万の区切りで48が2回出てくるし偶数桁目に4,4,3,4って調子よく並んでるし
246:デフォルトの名無しさん
08/04/12 18:54:10
>>241
文脈だって、馬鹿じゃね
247:デフォルトの名無しさん
08/04/12 18:54:58
2^8 = 256
2^10 = 1024
2^15 = 32768
2^16 = 65536
これはおさえとかないと確かにマズいな
248:デフォルトの名無しさん
08/04/12 18:56:38
データ容量でキロを1000メガを1000000と解釈するのは記録メディア業界だけ?
249:デフォルトの名無しさん
08/04/12 18:56:51
0xFFFF = 65535
これで覚えてる
250:デフォルトの名無しさん
08/04/12 18:58:21
>>248
メディア業界でも会社によってメガが1000000だったり1024000だったりするから困る
(1048576であることはまずないけど)
251:デフォルトの名無しさん
08/04/12 18:58:28
てかC++0xのスレだよな?
252:デフォルトの名無しさん
08/04/12 18:59:21
いつまでも0bなんて粘着に持ち出すゆとりのせいで荒れたじゃないか
253:デフォルトの名無しさん
08/04/12 19:04:49
0bを導入するメリットがあるとすればフラグを表す定数なんかで
#define FLAG_A 0b00000001
#define FLAG_B 0b00000010
#define FLAG_C 0b00000100
#define FLAG_D 0b00001000
#define FLAG_E 0b00010000
#define FLAG_F 0b00100000
なんて表現ができて初心者がフラグの定義の仕方を直感的に理解できるくらいか?
それ以外のメリットが思いつかん・・・
254:デフォルトの名無しさん
08/04/12 19:06:21
#define BIT(n) (1u << (n))
#define FLAG_A BIT(0)
#define FLAG_B BIT(1)
#define FLAG_C BIT(2)
#define FLAG_D BIT(3)
#define FLAG_E BIT(4)
#define FLAG_F BIT(5)
とかの方が分かりやすい
255:デフォルトの名無しさん
08/04/12 19:07:07
0b literals considered harmful
256:デフォルトの名無しさん
08/04/12 19:10:50
Gauche使え
257:デフォルトの名無しさん
08/04/12 19:12:27
そういう思い込み書き込むスレじゃないからw
マ板行けよ
新しい関数型の記法です。->を使う。
URLリンク(www.open-std.org)
typedef int IFUNC(int);
IFUNC* fpif(int);
↓
auto fpif(int)->int(*)(int)
template <class T, class U> decltype((*(T*)0)+(*(U*)0)) add(T t, U u);
↓
template <class T, class U> auto add(T t, U u) -> decltype(t+u);
258:デフォルトの名無しさん
08/04/12 19:17:28
コンパイラの都合臭がする記法だよな
259:デフォルトの名無しさん
08/04/12 19:19:27
constexpr long operator prefix"0b"(const char *literal_string){
long n=0;
for(; *literal_string; literal_string++){
n = (n << 1) + *literal_string - '0';
}
return n
}
こういうのが出来れば0b厨もおとなしくなるのに
260:デフォルトの名無しさん
08/04/12 19:21:37
なんか盛り上がってると思ったら、記憶力自慢の子が来てたのか。w
261:デフォルトの名無しさん
08/04/12 19:21:55
typedefの何が気に食わなくてこんなキモい構文を
262:デフォルトの名無しさん
08/04/12 19:36:31
こういうのを見るとC/C++って下品なプログラミング言語だと思うよな。
263:デフォルトの名無しさん
08/04/12 19:37:58
>>262
そこがいい。下品な俺たちにぴったりなのだ。
264:デフォルトの名無しさん
08/04/12 19:50:37
>>261
templateの例はtypedefじゃきついだろ。
関数型表記の無理やり感がついに破綻しましたね。
265:デフォルトの名無しさん
08/04/12 19:51:05
>>260
というかその人達、これだけ会話が続いてもまだ
「16種類のビットパターンを覚えられないから0b表記を欲しがっている」
と思い込んでるのが痛い。
266:デフォルトの名無しさん
08/04/12 19:58:44
>>265
ごめん、違うの?
267:デフォルトの名無しさん
08/04/12 19:59:45
>>266
違うに決まってるだろ。
その記憶力でちゃんと日本語を覚えような。
268:デフォルトの名無しさん
08/04/12 20:04:25
ごめんなさいバカなのでわかりません
0bには16進のビットパターンを覚えられないゆとりのため以外にどのような利点があるのでしょうか
269:デフォルトの名無しさん
08/04/12 20:06:34
最近のGCCは独自拡張で0bを持っている。
270:デフォルトの名無しさん
08/04/12 20:07:39
>>268
バーカバーカ
271:デフォルトの名無しさん
08/04/12 20:09:47
>>268
保守性の向上
272:デフォルトの名無しさん
08/04/12 20:10:36
0bでは保守性向上しないだろ・・・
273:デフォルトの名無しさん
08/04/12 20:12:12
他の言語に採用されてる事に関しては疑問を持たないのかね
274:デフォルトの名無しさん
08/04/12 20:18:02
何を言おうと標準化委員会に却下された時点で0b厨の敗北は決定している
275:デフォルトの名無しさん
08/04/12 20:20:56
>>271
0bの方が読みやすい、だから保守性が向上するんだ!という主張ですね?
つまり0xを読めない奴でも保守できるようにするための機能ということですから
16進のビットパターンを覚えられないゆとりのための機能という意味ですね
解答になってないですね
「16進のビットパターンを覚えられないゆとりのため」以外の理由を教えて下さい
この馬鹿な私に教えて下さい
276:デフォルトの名無しさん
08/04/12 20:21:57
>>274
こういう下品な理由こそが C++ に相応しい
277:デフォルトの名無しさん
08/04/12 20:22:32
>>275
君は馬鹿というより単純だと思う
278:デフォルトの名無しさん
08/04/12 20:24:26
面倒くさいから
「ゆとりと仕事する(或いは保守をやらせる)かも知れないから」
でいいんじゃね
279:デフォルトの名無しさん
08/04/12 20:24:42
>>275
一行目と二行目の間に凄い飛躍があるなw
280:デフォルトの名無しさん
08/04/12 20:26:55
>>279
0xが読めるなら0xだろうと0bだろうと保守性は変わらないんですから
0xが読めない人にのみ意味のある保守性の向上ということですよね?
普通に読めばそういう意味になると思いますが
どのような飛躍があるのか教えて下さい
単純な私に教えて下さい
281:デフォルトの名無しさん
08/04/12 20:31:06
読める人でも分かりやすさに差があるし、
2進で書くか16進で書くかによって
コードに込められた意図に差が出ることだってあるだろ。
282:デフォルトの名無しさん
08/04/12 20:31:06
>>280
「読める」と「読みやすい」の違いは判る?
283:デフォルトの名無しさん
08/04/12 20:31:27
そもそも16種類のビットパターンすら覚えられないような奴が
73種類もある(しかも多くは多重に意味のある)C++の予約語を覚えられるわけがないから
そういう奴は普通に考えてC++をいじるような仕事が出来るわけがないと思うんだが
0b入れたとしてもさ
284:デフォルトの名無しさん
08/04/12 20:32:20
駄目だ、こいつ粘着だよw
285:デフォルトの名無しさん
08/04/12 20:32:53
>>280
読みやすさなら圧倒的に16進だろ
0bには別のメリットがあるに決まってるじゃん馬鹿なの?
286:デフォルトの名無しさん
08/04/12 20:33:16
16進テトリスとかやったことあるけど、
やりづらいことこの上なかったぞw
287:デフォルトの名無しさん
08/04/12 20:33:17
>>283
本当に単純なんだね
288:デフォルトの名無しさん
08/04/12 20:33:36
>>281
そんな意図はコメントやドキュメントに書くべきであって
リテラルの形式に勝手にそんな暗黙の約束を置く方がかえって保守性下がると思うんだが
289:デフォルトの名無しさん
08/04/12 20:34:54
じゃあ for とか while とかじゃなくて goto 使ってください。
290:デフォルトの名無しさん
08/04/12 20:35:29
>>282
それはもちろんゆとりでも対応表を片手に一つずつ変換していけば読むこと自体は出来るに決まっていますから
今までの「読める」はすべて「読みやすい」の意味だと思って下さい
言葉が足りなくて申し訳ありませんでした
では改めて「16進のビットパターンを覚えられなくて0xを読みにくいゆとりのため」以外の理由を教えて下さい
291:デフォルトの名無しさん
08/04/12 20:35:33
10進と16進の使い分けだってやってるだろ?
まさか意味も無く16進使ってるわけはないよな?
292:デフォルトの名無しさん
08/04/12 20:36:41
>>288
Unixのchmodも10進数で書いちゃう人ですか?
293:デフォルトの名無しさん
08/04/12 20:38:17
>>289
forが出てくれば繰り返しだとわかるけど
コード中に「0xAA」と「0b10101010」が説明なしに出てきて
一体どうやってプログラマの意図をくみ取ればいいんだ?
同じ数だぞ?
294:デフォルトの名無しさん
08/04/12 20:38:32
chmodを16進で書くのも読みづらいな。
あれは8進で書くべき。
2進が欲しいってのも似たような理由だな。
2進の方が分かりやすい所では2進が使えた方がいい。
295:デフォルトの名無しさん
08/04/12 20:39:59
2進が使いやすいとしたら4ビットせいぜい8ビットまでだろ
それ以上はかえって読みにくくなるし
読みやすさのためだけなら必要ないと思うんだけど
296:デフォルトの名無しさん
08/04/12 20:40:16
>>293
例えば5ビットずつ情報を与えたい場合であれば、
0b11011_11101_01011 と書けた方がいいだろう。
297:デフォルトの名無しさん
08/04/12 20:40:52
10進と16進の使い分けはそりゃあるだろう
おおむね「ビットに意味のある数」が16進でそうじゃない数を10進で書くよな
さて、2進で書きたい数というのは多分「ビットに意味のある数」だろう
16進とどう使い分けるんだ?
298:デフォルトの名無しさん
08/04/12 20:41:22
5ビットずつってのは16ビットRGBを扱う際に出てくる。
299:デフォルトの名無しさん
08/04/12 20:42:18
0bが却下されてる理由なんだったっけ
ビットオーダーが環境依存だからだっけ?
でもシフト演算子の << >> の方向にあわせて0bの記法をきめちゃってよさそうなのにな。
300:デフォルトの名無しさん
08/04/12 20:42:30
そんな書き方16進数でもできないじゃん
これ_挟むの
301:デフォルトの名無しさん
08/04/12 20:44:22
できるようにすればいいじゃん。
302:デフォルトの名無しさん
08/04/12 20:44:54
RGB(なんたら)ってマクロでも使えばいいんじゃないの
303:デフォルトの名無しさん
08/04/12 20:45:41
>>299
ビットオーダーって単なる値には特に関係ないんじゃないかと思うんだが。
つか、それ言い出すと16進数もやばいんじゃね?
304:デフォルトの名無しさん
08/04/12 20:46:26
メモリ上にはそんな区切りはどこにも存在しないのに
勝手にそんなもの入れられるようにして何が嬉しいんだ?
305:デフォルトの名無しさん
08/04/12 20:46:53
その釣りは流石に稚拙だ
306:デフォルトの名無しさん
08/04/12 20:49:16
0x__________________1____________________________0________________________
とか書けるようになるんだろ
きめえ
307:デフォルトの名無しさん
08/04/12 20:54:26
_ を連続させられないようにすればいいだけだろ・・・そんなの。
308:デフォルトの名無しさん
08/04/12 20:56:11
>>307
お前はマクロ引数の反省を全く学んでいないんだな
309:デフォルトの名無しさん
08/04/12 20:57:08
?
310:デフォルトの名無しさん
08/04/12 20:57:27
個人的にはどっちでもいい。(特に欲しいとは思わないけど、入っても構わない)
おまえらの執着心には感心する。
311:デフォルトの名無しさん
08/04/12 21:01:14
導入されてる言語があって、そこで別に不自由ないんだから、
導入されても別に構わんだろ。
使いたくなきゃ使わなきゃいいんだし。
312:デフォルトの名無しさん
08/04/12 21:01:32
ここは変態言語らしく1~36進数までサポートしようぜ
313:デフォルトの名無しさん
08/04/12 21:04:42
>>311
そんなのはC++の標準団体に言えよ
とりあえずそんな消極的な理由じゃ話にならない
314:デフォルトの名無しさん
08/04/12 21:06:41
委員会に却下された理由ってなんなの?
315:デフォルトの名無しさん
08/04/12 21:06:53
そういえば85進数でIPv6書こうっていうRFCがあったな
316:デフォルトの名無しさん
08/04/12 21:07:25
おお・・・驚異の1進数・・・
でも、便利そうな状況はありそうな気がするから困る。
const char hoge[] = "abcdefg";
size_t btof = 0u11111;
とか。
317:デフォルトの名無しさん
08/04/12 21:07:52
等幅で見て
318:デフォルトの名無しさん
08/04/12 21:14:30
一進数は便利だ
数えれば幾つかすぐ分かる
319:デフォルトの名無しさん
08/04/12 21:17:40
#define unitary(s) (sizeof(s)-1)
unitary("11111"); /* == 5 */
320:デフォルトの名無しさん
08/04/12 21:18:36
unitaryじゃなくてunaryか
321:デフォルトの名無しさん
08/04/12 21:18:48
そこはこうだろ・・・
#define unitary(u) (sizeof #u - 1)
unitary(11111); /* == 5 */
322:デフォルトの名無しさん
08/04/12 21:23:46
今でも8進数の数字に8や9が使えちゃうことだし
0b入れたとしても中で2や3が使えることになってカオスになりそうだからいらない
323:デフォルトの名無しさん
08/04/12 21:25:36
エラーになるけど??
324:デフォルトの名無しさん
08/04/12 21:26:17
コンパイラが親切なだけじゃないの?
規格上はおkだったはず
325:デフォルトの名無しさん
08/04/12 21:34:45
octal-literal:
0
octal-literal octal-digit
octal-digit:
0 1 2 3 4 5 6 7
と書いてあるが・・・。
326:デフォルトの名無しさん
08/04/12 21:36:29
あれ?
昔の話だったかもしれん。すまん
327:デフォルトの名無しさん
08/04/12 21:46:32
K&Rの2版で8と9は使えなくなったと書かれていたが。
328:デフォルトの名無しさん
08/04/13 10:18:06
C89の仕様ができるまでは、
そのへんルーズな処理系がいっぱいあってなゴホゴホ
329:デフォルトの名無しさん
08/04/13 16:44:18
ビットマスクには2進を使いたいじゃんね
330:デフォルトの名無しさん
08/04/13 17:25:44
15年前にアセンブラからCに移った時は欲しくて仕方なかったけど、
リテラル書くって、要するにマジックナンバー書くってことじゃん。
ダメ。
マクロなり変数なり関数なり、名前を付けてそれ使いなさい。
だから不要。
331:デフォルトの名無しさん
08/04/13 17:28:58
その理屈だと整数リテラルはすべて禁止だな
332:デフォルトの名無しさん
08/04/13 17:29:05
マクロ/変数(定数?)/関数が返す値をどうやって書くかという話なんだけどな。
333:デフォルトの名無しさん
08/04/13 17:35:07
1ビットだけならマクロ使って何ビット目が立ってるか書いた方が分かりやすいが、
複数ビットある場合は微妙かもしんないな。
334:デフォルトの名無しさん
08/04/13 17:44:01
結局はこう書いてこう使うだろ
#define FLAG_HOGE 0x01
#define FLAG_FOO 0x02
#define FLAG_BAR 0x04
...
if(flg & (FLAG_FOO || FLAG_BAR)){
...
}
これが「#define FLAG_BAR 0b00000100」になったからって読みやすいとはとても思えないし
「if(flg & 0b00000110)」なんてのを書くようなら0b関係なく論外(「if(flg & 0x06)」だとしても同じこと)
335:デフォルトの名無しさん
08/04/13 17:46:55
64ビットの2進リテラルはきもい
336:デフォルトの名無しさん
08/04/13 17:46:59
もう想像力の欠如した粘着の相手はやめようぜ
337:デフォルトの名無しさん
08/04/13 17:48:50
ここは想像力の欠如した粘着と
想像力がありすぎる女子中学生好きのスレ
338:デフォルトの名無しさん
08/04/13 17:52:09
なんで || なんだよー
339:デフォルトの名無しさん
08/04/13 17:53:22
「1ビット目と3ビット目と4ビット目と9ビット目と12ビット目が立ってるか判定するときに
if(flg & 0b100100001101)って書ければ便利じゃん?0x90dって書くよりわかりやすいじゃんじゃん???」
ってのが0b厨の希望ということですね
規格に意見する前にもっとましなプログラミングスタイルを勉強した方がいいと思いますよ
340:デフォルトの名無しさん
08/04/13 18:02:14
面白いキャラ設定に興奮するのはいいけど、
相手より先に自分が興奮してると馬鹿にしか見えないですよ。
341:デフォルトの名無しさん
08/04/13 18:10:57
なんか自分を規格を策定する側にいると誤解して、必死に規格の正しさを言い張ってる
お子ちゃまがいますね
342:デフォルトの名無しさん
08/04/13 18:12:17
お前ら>>257にも少しは意見を寄せろ
343:デフォルトの名無しさん
08/04/13 18:12:59
まだやってるのかよ
344:デフォルトの名無しさん
08/04/13 18:16:54
こうまで論争の余地のある機能なんだったら
だったら入れるだけ入れて、使うかどうかは実装者に任せるのが
今までのC++のスタンスとして正しい
345:デフォルトの名無しさん
08/04/13 18:34:27
>>257
typeof(T+U) add(T, U)(t t, U u);
Dだとこうかな。TやUがstaticなopAddのオーバーロードを持ってると上手く動かないけど。
346:デフォルトの名無しさん
08/04/13 18:38:58
美少女中学生にオーバーライド
347:デフォルトの名無しさん
08/04/13 19:06:18
議論の余地ないだろ
入れろって言ってるやつが16進数表記では自分は読めないって以外の理由を
いまだ示せていないし
348:デフォルトの名無しさん
08/04/13 19:15:29
それが最大にして絶対的な理由だとなぜ気づかないんだ
349:デフォルトの名無しさん
08/04/13 19:15:32
読める読めないのみ議論の論点だと言い張ってる馬鹿が議論を放棄してるだけ
読める読めないが論点だと言うのなら、10進数表記以外に16進数表記が必要な理由でも説明してみろ
350:デフォルトの名無しさん
08/04/13 19:18:00
論点もなにもただのスレ違いだろ
351:デフォルトの名無しさん
08/04/13 19:18:54
プログラミング言語の全ての機能は可読性のためにあるんだよ
それがいらないって奴はBrainfuckでも使ってろ
0bが入ったって少なくとも可読性が下がることはない
だったら入れるべき
352:デフォルトの名無しさん
08/04/13 19:19:43
>>349
ありません。
16進数表記を必要としている人は、10進数を脳内で16進数変換できない頭の悪い人だけです。
だから俺は要りませんよ、16進数。
353:デフォルトの名無しさん
08/04/13 19:19:54
16進数が必要なのはコンピュータが2進数だから
そのコンピュータを低レベルで扱おうとしたとき16進数で書けた方が
人間にとって読んだり書いたりしやすくなる
354:デフォルトの名無しさん
08/04/13 19:20:45
>>349
16進数表記はビット演算のためです
そして2進数表記も入るとすればビット演算のためです
同じ機能は2つもいりません
355:デフォルトの名無しさん
08/04/13 19:21:02
勘違いしてるようだけど10進数と16進数は変換できないぞ
16進数と2進数はできるけど
356:デフォルトの名無しさん
08/04/13 19:21:53
じゃあ8進数が(ry
357:デフォルトの名無しさん
08/04/13 19:24:10
自説を曲げる気のない人にどれだけ言っても無駄じゃない?
なんか恐ろしく単純な人みたいだし
358:デフォルトの名無しさん
08/04/13 19:25:21
0bが欲しいって言ってるやつは0bと0xの変換が計算が必要な面倒な作業だと思ってるんだろうな
359:デフォルトの名無しさん
08/04/13 19:25:42
>>354
単項の - があるんだから、二項の - は廃止したほうが良いだろうね。
そのほうがシンプルになるだろう。
360:デフォルトの名無しさん
08/04/13 19:26:26
でなければ>>352みたいなことは書けない
361:デフォルトの名無しさん
08/04/13 19:26:35
p-> なんて贅肉。(*p). だけでいい。
p[i] もいらね。*(p+i) だけでいい。
362:デフォルトの名無しさん
08/04/13 19:26:53
>>358
0bが要らないって言ってるやつは単純な二元論者だから、シンプルな人生が歩めるだろうね
363:デフォルトの名無しさん
08/04/13 19:27:06
10進と16進の変換は下位桁の状況が上位にずっと波及するから計算が面倒
2進と16進は(2進の)4桁ごとに変換が閉じるから楽ちん
こうですかわかりません
364:デフォルトの名無しさん
08/04/13 19:27:55
徹底的に無視される8進数カワイソス
365:デフォルトの名無しさん
08/04/13 19:28:07
素人にも理解できる問題は盛り上がって良いね。
そろそろ専用スレでも建てようか?
366:デフォルトの名無しさん
08/04/13 19:28:40
しかも読みやすくなるならまだしも長ったらしくて読みにくくなるだけだし
367:デフォルトの名無しさん
08/04/13 19:28:44
>>361
p[i]はマジで害悪にしかなってないからなくなった方がいいと実際思ってる
まるでCに配列が存在するかのような幻想を初心者に与えて混乱させる元凶になってるだけ
368:デフォルトの名無しさん
08/04/13 19:28:59
区切り入れられるようにすれば読みやすいと何度言えば
369:デフォルトの名無しさん
08/04/13 19:29:42
ただの荒しだろこいつら
370:デフォルトの名無しさん
08/04/13 19:29:53
>>367
バカすぎる・・・
371:デフォルトの名無しさん
08/04/13 19:30:46
それで読みやすくなるコードが既に誤ったコーディングスタイルだってことも指摘されてるのに
372:デフォルトの名無しさん
08/04/13 19:31:17
権威主義に落ちてるのさ。批判的精神を失ったら、もう技術者としては終わりだ
373:デフォルトの名無しさん
08/04/13 19:31:55
一人で両方の意見を書いてるマッチポンプ野郎が2人くらい来ている気がする
374:デフォルトの名無しさん
08/04/13 19:32:02
[]がなかったら宣言ができなくなる
375:デフォルトの名無しさん
08/04/13 19:32:07
>>371
定数を定義するする地点で使うことに問題は無いと何度言えばいいのだろうか。
376:デフォルトの名無しさん
08/04/13 19:32:39
>>368
何の機能もない表現をプログラム本文中に入れるのは問題だと思う
本文中の記号はプログラムの動作に何かをもたらすものでなければいけない
(使われ方次第では無意味になることもあるとしても)
377:デフォルトの名無しさん
08/04/13 19:33:36
>>376
それで読みづらくなるんだったら意味が無い。ただのバカだな。
378:デフォルトの名無しさん
08/04/13 19:33:53
>>376
おまえ、改行と空白を敵に回したな
379:デフォルトの名無しさん
08/04/13 19:34:10
コメントも敵に回してるな。
380:デフォルトの名無しさん
08/04/13 19:35:27
>>377
何の意味もない記号なんてものが(コメント以外に)ある方がよほど読みづらいわ
381:デフォルトの名無しさん
08/04/13 19:35:50
>>380
そろそろ苦しいから諦めろ。
382:デフォルトの名無しさん
08/04/13 19:36:01
>>378
トークンを区切るという立派な仕事があるじゃないか
0bの中のアンダースコアはそれすらないんだぞ
383:デフォルトの名無しさん
08/04/13 19:36:12
>>376
ぜひ作ってくれ。
全てのトークンがプログラムの動作に影響を与える言語。
384:デフォルトの名無しさん
08/04/13 19:36:26
盛り上がってきたね。いいぞいいぞ。どちらも負けるな。もっとやれ。
385:デフォルトの名無しさん
08/04/13 19:36:37
>>382
Dでそれが問題になってるという話は聞かない。
ただの妄想に過ぎないな。
386:デフォルトの名無しさん
08/04/13 19:39:04
>>383
C++は全てのコメント以外のトークンがプログラムの動作に影響を与えうる(もちろん与えないこともある)言語ですよ
0bの_は「絶対に」プログラムの動作に影響を与えない
0bXYと0bX_Yが違う意味を持つということはいかなる文脈でも絶対にない
無意味だと思わないか
387:デフォルトの名無しさん
08/04/13 19:39:41
上のほうで書かれてた5ビットずつのRGBってのもビット列自体に意味はないから
こんなの使う必要ないと思うんだけど
388:デフォルトの名無しさん
08/04/13 19:40:30
>>386
別に?
389:デフォルトの名無しさん
08/04/13 19:40:50
>>382
自明的にトークンを構成する文字の前後に冗長な空白を入れるのは禁止したほうが良いですね
390:デフォルトの名無しさん
08/04/13 19:42:16
>>386
「違う意味を持つということはいかなる文脈でも絶対にない」トークン列なんて無数に考えつくけど
391:デフォルトの名無しさん
08/04/13 19:44:22
変数名内の _ の使用も禁止。
全部英小文字のみにしろということか。
392:デフォルトの名無しさん
08/04/13 19:44:34
唯一使えるとしたらアイコンかなんかのパターンを記述するとき
ソースを見ただけでどんなアイコンか見当付きやすいってことくらいかな
他になんかある?
393:デフォルトの名無しさん
08/04/13 19:45:09
>>390
いやいや、そりゃあるだろうよ
でもそのトークン列で使われている記号はどれも、別のトークン列の中でなら区別に貢献する可能性があるわけだ
0bの中の_という記号は、それがどんな数値定数の中でも区別に寄与しない
機能自体が全く無意味なんだよ
あるトークンの中で無意味というのとは次元が違う
394:デフォルトの名無しさん
08/04/13 19:47:22
>>393
トークン間(空白等)は良くて、トークン内は許せないとする論拠は?
395:デフォルトの名無しさん
08/04/13 19:47:40
何でそれがダメなのか明確な理由が述べられていない。
さっさと言え。
396:デフォルトの名無しさん
08/04/13 19:47:49
>>391
D言語と同じようにするならその問題はない。
397:デフォルトの名無しさん
08/04/13 19:49:48
変数名に使える文字に _ を含めてる時点で
プログラムの見た目は非常に重要な要素だということを
言語レベルで認定しているようなもんなんだがな。
398:デフォルトの名無しさん
08/04/13 19:52:17
>>394
トークン間の空白はあるとないとで全く意味が変わる可能性があるじゃないか
ab /*「ab」という識別子*/
a b /*「a」と「b」という2つの識別子*/
_はあってもなくても絶対に何も変わらない
0b11 /* 10進数で3という数 */
0b1_1 /* これも10進数で3という数 */
0b____1___1_________ /* どう入れてみた所で3という数は変わりはしない */
_によって意味が変わることはどんなプログラムにおいても存在しない
だから無意味なんだ
399:デフォルトの名無しさん
08/04/13 19:53:35
>>397
abとa_bとa__bは違う識別子です
0b11と0b1_1と0b1__1は全く同じ意味です
400:デフォルトの名無しさん
08/04/13 19:53:36
int ab = 0;
int a_b = 0;
int a_b = 0;
意味は変わらないな。
401:デフォルトの名無しさん
08/04/13 19:54:07
>>398
何故無意味か説明できていない。
早く説明してくれ。
402:デフォルトの名無しさん
08/04/13 19:55:35
>>401
0bの中の_にプログラム的に意味がある場合がもしあるなら教えて下さい
403:デフォルトの名無しさん
08/04/13 19:55:40
>>398
空白だって連続している場所では意味を持たない、そうでない場所では意味を持つ
'_' だって数値リテラルの中では意味を持たない、そうでない場所では意味を持つ(識別子等)
さほど大きな違いがあるようには思えないのだが。
404:デフォルトの名無しさん
08/04/13 19:56:46
>>402
動作に違いが無いこととその存在が無意味であることには乖離がある。
なぜなら、プログラムはコンパイラだけが読むものではないからだ。
405:デフォルトの名無しさん
08/04/13 19:57:28
>>402
特定の文脈(この場合は0bの後)でのみ意味を持たないってだけでは?
406:デフォルトの名無しさん
08/04/13 19:57:55
>>401
398の説明で理解してもらえないとすれば
プログラム中の記号に「意味がある」というのはどういうことなのか
あなたの考えを聞かせていただきたい
可読性とか動作に関係ないことは除いてね
407:デフォルトの名無しさん
08/04/13 19:58:40
可読性に意味が無いと言う >>406 のプログラムは
たいそう汚いんだろうな。
408:デフォルトの名無しさん
08/04/13 19:59:51
そもそも必要あるの?
0b001_110_011 なんてやるより
(AAA | BBB | CCC) とかのほうが分かりやすいと思うんだけど
409:デフォルトの名無しさん
08/04/13 20:00:42
>>408
場合によるのでは?
極端なケースは上で出てきたアイコンのデザインとか。
410:デフォルトの名無しさん
08/04/13 20:01:42
ビットだけで考えてる人がいるようだが、
Dでは2進数に限らず _ を入れられるわけで、
長い10進数に区切りを入れるのもアリだ。
411:デフォルトの名無しさん
08/04/13 20:02:30
>>406
お前プロジェクトで人の話聞かないで周りに色々迷惑かけてそうだな
>>376から続いてる話なのにどうして「可読性に意味が無い」なんて馬鹿な読み方が出来るんだ?
412:デフォルトの名無しさん
08/04/13 20:02:46
move semanticsのディープな話題が出たときには沈黙してるくせに
おまえらって奴は
413:デフォルトの名無しさん
08/04/13 20:03:30
頭のおかしい奴が話を引っかき回してるようなので一回寝る
414:デフォルトの名無しさん
08/04/13 20:04:44
>>412
ムズカシイ話はワカラナイもん
415:デフォルトの名無しさん
08/04/13 20:04:57
>>410
そういや、お金の計算だと三桁ごとにカンマを入れるなぁ。
カンマの代わりに"_"を入れることができると。
int yen = 100_000_000;
416:デフォルトの名無しさん
08/04/13 20:05:26
>>403
確かにそう言われてしまうとそうなんだが
識別子中の_とリテラル中の_というのは全く別の扱いになる機能で
一方は全く無意味というのはどうなのかと
417:デフォルトの名無しさん
08/04/13 20:05:43
たまたま開いたら面白そうな話してたから参加してるだけ
普段はどんな話してるのか知らない
418:デフォルトの名無しさん
08/04/13 20:06:25
互換性的にはどうなの
__1とかって識別子になったっけ
419:デフォルトの名無しさん
08/04/13 20:06:48
>>418
途中にしか入れられないようにすれば問題ない。
420:デフォルトの名無しさん
08/04/13 20:09:45
・・・まさか >>413 は >>376 なのか・・・?
・・・ゴクリ。
421:デフォルトの名無しさん
08/04/13 20:14:09
もうC++0bにしちゃえよ
422:デフォルトの名無しさん
08/04/13 20:16:00
実際そうなりそうで怖い。2011年。
423:デフォルトの名無しさん
08/04/13 20:26:43
そんなに無意味な表記が嫌いなら一生マシン語でコード書いてろ
424:デフォルトの名無しさん
08/04/13 20:33:18
プログラミング言語自体、
マシン語のシンタックスシュガーみたいなもんだからな。
あくまでみたいなもんだけど。
425:デフォルトの名無しさん
08/04/13 20:36:17
>>412
美少女中学生の話も食い付き悪くてさみしい
426:デフォルトの名無しさん
08/04/13 20:58:02
>>425 昔から知的で美人の大学生のおねいさんの方がいいに決まってるんだが...
427:デフォルトの名無しさん
08/04/13 21:19:59
>>425
そんなオバサンの話されても。
428:デフォルトの名無しさん
08/04/13 21:29:25
構成された美少女中学生そのものが意味なのだ
パーツのどこそこに意味があるだのないだのとあげつらってみても
それらが集合して美少女中学生を構成しない限り意味を成すことはない
美少女中学生の一部分だけ見つづけると観察者はゲシュタルト崩壊を起こす
0b論も同じこと
いくら論じてもこの美少女中学生の現時点の美少女っぷりにはなんの影響も与えない
繰り返す
構成された美少女中学生そのものが意味なのだ
429:デフォルトの名無しさん
08/04/13 22:04:51
それは脳内美少女中学生ってことで FA?
430:デフォルトの名無しさん
08/04/13 23:08:55
お前らバイナリバイナリうるせーんだよ。
#include <boost/static_assert.hpp>
template<unsigned int v, unsigned int n> struct binary_i{
private:
BOOST_STATIC_ASSERT((n % 10) <= 1);
public:
enum{ value = (n % 10) + (binary_i<v, n / 10>::value) * 2 };
};
template<unsigned int a> struct binary_i<a, 0>{
enum{ value = 0 };
};
template<unsigned int v> struct binary{
enum{ value = binary_i<v, v>::value };
};
std::cout << binary<1001110101>::value << std::endl;
431:デフォルトの名無しさん
08/04/13 23:13:32
10桁までしか使えないじゃんか・・・。
もっといいマクロならそこら辺に落ちてる。
432:デフォルトの名無しさん
08/04/13 23:16:57
最低128ビットくらいは使いたいんだけど
433:デフォルトの名無しさん
08/04/13 23:18:04
0bでスレが加速するってどんだけスレ違いなんだよ
434:デフォルトの名無しさん
08/04/13 23:22:48
文句があるならそのマクロとやらを使ってとっととこのスレから出て行きやがれ
435:デフォルトの名無しさん
08/04/14 00:31:21
ここはconstexprを使った例を出すべきだろ…
C++0x的に考えて
436:デフォルトの名無しさん
08/04/14 00:39:07
どんな底辺プログラマが書き込んでるんだ?
437:デフォルトの名無しさん
08/04/14 00:39:51
boost の static_assert は式版のがないのがうんこだな。
#define BOOST_STATIC_ASSERT_EXPR(b) ((void)(char(*)[(b) ? 1 : -1])0)
くらい用意してくれないと constexpr で困る。
・・・って、constexpr の引数って静的な値として認識されるんだよね?
438:デフォルトの名無しさん
08/04/14 01:03:38
>>437
式版の有る無しで何が変わるの?
キャストやカンマ演算子は定数式にはなれなかったような気がするし、
静的な式なら評価タイミングも関係ないし、あんまり意味が無いような。
439:デフォルトの名無しさん
08/04/14 04:35:03
#define 0B_00001111 0xff
440:デフォルトの名無しさん
08/04/14 06:56:57
そうなのか・・・。
じゃあ constexpr の引数をチェックできないの?
441:デフォルトの名無しさん
08/04/14 10:27:41
>>440
メタ関数書けば?
外向きに一段 constexpr 関数かませば使いやすくはなるかも。
442:デフォルトの名無しさん
08/04/14 10:44:57
>>432
2進数を128桁も書きたいというお前がマレw
443:デフォルトの名無しさん
08/04/14 13:28:45
static_assert の式版とかいうやつを使って
具体的にどういうコードが書きたいのかもうちょっとkwsk
444:デフォルトの名無しさん
08/04/14 19:18:59
式に置換するマクロで
#define TOHEX(n) (STATIC_ASSERT_EXPR(sizeof #n <= 9), 0x##n)
みたいなことをやってんだけど、
まあこれはそのまあ constexpr にするわけにゃいかんが、
constexpr の引数を静的にチェックしたいと思ってね。
typedef が constexpr の中に入れれるなら別に
BOOST_STATIC_ASSERT を使えばいいんだけど、どうだっけ?
無理なら return STATIC_ASSERT_EXPR(hoge < 10), hoge; みたいなことができれば
面白いなあと思ってね。
445:デフォルトの名無しさん
08/04/14 22:37:44
いまさらだけど、0b の話って、
URLリンク(www.open-std.org)
が採用されたらさらに一般化されて解決されるんじゃないの?
誰も上で話に出してなかったけど ...
446:デフォルトの名無しさん
08/04/14 22:42:09
ユーザ定義リテラルは誰か途中で書いてなかったっけ
つうか0bの話ししてる奴の大半はドラフトなんか読んでないんじゃね
447:デフォルトの名無しさん
08/04/14 23:38:21
>>445
キモイ記法になるから組み込みにして欲しいって話だと思ってた。
448:デフォルトの名無しさん
08/04/15 00:21:30
>>445
>>259を忘れないで。
たぶんこれのことだよね?
449:デフォルトの名無しさん
08/04/15 00:49:32
>>259を理解できていたらここまでスレは加速しない。
450:デフォルトの名無しさん
08/04/15 01:23:02
あれって入る見込みありそうなの?
451:デフォルトの名無しさん
08/04/15 01:23:26
たぶん無理
452:デフォルトの名無しさん
08/04/15 03:11:10
入ったとしても定義できるのはサフィックスだけだから
0bは無理なので厨はお気に召さないだろう
453:デフォルトの名無しさん
08/04/15 07:23:28
別にサフィックス b でいいよ。
454:デフォルトの名無しさん
08/04/15 07:29:49
#define b0 0
#define b00 0
#define b000 0
// ... 一つの数値に128通りの#define
// = 2^129個の#define
455:445
08/04/15 09:59:34
すいません、アホな言い合いが続いていたので 259 を読み飛ばしてました。
でも constexpr って今の定義だとそんなに中にいろいろ書けないんじゃ?
456:デフォルトの名無しさん
08/04/15 18:47:23
ループを手動でアンロールすればいいっしょ。
457:デフォルトの名無しさん
08/04/15 18:47:45
ああ、配列アクセスしてる時点で無理なのか。
458:デフォルトの名無しさん
08/04/15 22:59:46
N2378 と最新のドラフト読む限りでは
suffix しか無理ながら,とりあえず constexpr リテラル化はできるような?
>>259 みたいに for 文を使用 (して,かつ constexpr 化) することは
現在の提案ではできないみたいですけれど
459:デフォルトの名無しさん
08/04/16 00:27:15
ようやくらしくなってきたが、未解決なのは変わらずか。
460:デフォルトの名無しさん
08/04/16 03:32:48
constexpr unsigned char operator "b" (unsigned int value) {
return (value % 10 != 0) | ((value / 10 % 10 != 0) << 1) | ...;
}
このくらいならできるのか?
461:デフォルトの名無しさん
08/04/16 07:28:12
5bitしか扱えないけどね
462:デフォルトの名無しさん
08/04/16 07:36:04
いつの時代の住人だ
463:デフォルトの名無しさん
08/04/16 11:24:41
N2378 と N2588 に従うと以下のような感じになるとは思うんですが,
いかんせん以下をコンパイルして確認できる環境が存在しないので
間違いがある可能性が高いです.
template<char C>
unsigned long long binaryDigitToNum();
constexpr unsigned long long binaryDigitToNum<'0'>(){ return 0; }
constexpr unsigned long long binaryDigitToNum<'1'>(){ return 1; }
template<unsigned long long I, char C, char... TAIL>
constexpr unsigned long long binaryLiteralImpl()
{ return binaryLiteralImpl<I << 1 + binaryDigitToNum<C>(), TAIL>(); }
template<unsigned long long I, char C>
constexpr unsigned long long binaryLiteralImpl()
{ return I << 1 + binaryDigitToNum<C>(); }
template<char C, char... TAIL>
constexpr unsigned long long operator "b" ()
{ return binaryLiteralImpl<0, C, TAIL>(); }
普通の raw-form literal operator だと, '0', '1' 以外が来たときに
compile-time error を吐かせる方法がいまいちピンと来なかったので
variadic template form を使いました.
464:デフォルトの名無しさん
08/04/16 12:22:30
しかし、この例をみるにつけても C++0x は変態ですね
465:デフォルトの名無しさん
08/04/16 19:32:22
これはまだ分かりやすい方だろ。
466:デフォルトの名無しさん
08/04/16 21:30:21
美少女中学生は変態さん。なんと制服の下で身体を縄で縛って学校に行っちゃうのです
467:デフォルトの名無しさん
08/04/16 22:31:32
マジレスすると疲れるだけで全然えろくも変態でもない。
468:デフォルトの名無しさん
08/04/16 23:03:57
>467は人生の勝ち組
469:デフォルトの名無しさん
08/04/20 05:34:54
0b狂がいなくなったら誰もいなくなった
470:デフォルトの名無しさん
08/04/20 10:36:22
mailing2008-03読んでるけど、
0bで馬鹿らしくなって>>257くらいしか書き込んでないw
471:デフォルトの名無しさん
08/04/20 10:53:04
美少女中学生は空を見上げ待ち続けている…
472:デフォルトの名無しさん
08/04/20 12:20:10
C++0xで2進リテラルを作成するスレを別に立てたらどうだ?
473:デフォルトの名無しさん
08/04/20 12:22:39
糞スレたてんなよ
474:デフォルトの名無しさん
08/04/21 01:15:32
>>473
読まなければ良いのでは?
475:デフォルトの名無しさん
08/04/21 01:22:22
糞スレを立てると無駄なCO2を排出することになります
476:デフォルトの名無しさん
08/04/21 01:31:12
俺様のゲップに含まれるメタンガスに比べれば無視できる量だけどな
477:デフォルトの名無しさん
08/04/23 08:11:49
美少女中学生が排出したメタンを肺いっぱいに吸い込みたい
478:デフォルトの名無しさん
08/04/23 08:33:53
つ (美少女の)硫化水素
479:デフォルトの名無しさん
08/04/23 12:15:45
お前らスレタイ0x100回読め
480:デフォルトの名無しさん
08/04/23 18:33:01
スレンダーでタイツの似合う美少女中学生が俺の嫁
481:デフォルトの名無しさん
08/04/23 18:35:18
256回読みましたがわかりませんでした
482:デフォルトの名無しさん
08/04/26 22:18:03
>>481
美少女中学生について語ってはならないとは
スレタイにもテンプレにも書いてないんだが
# 個人的には平面の方が好きなんだけどな
483:デフォルトの名無しさん
08/04/26 23:25:12
C++0xは3次元あるいはそれ以上の次元を持つとはどこにも書いていないぞ。
まあ2次元とも決まっていないがな。
#ん、C++タンの出番だな。
484:デフォルトの名無しさん
08/04/26 23:27:23
N2582
新しい関数宣言方法(ラムダ式と同じ形にする案)
[]foo(int x) -> int { return x; }
485:デフォルトの名無しさん
08/04/26 23:30:30
[] は大変キモいので、こういうマクロを標準で提供して欲しい。
lambda とかいうヘッダファイルを用意して。
#define labmda []
foo(lambda foo(int x) -> int { return x; });
486:デフォルトの名無しさん
08/04/26 23:33:19
typo したがキニシナイ
487:デフォルトの名無しさん
08/04/27 00:49:50
[] にはもう既に慣れちゃった
488:デフォルトの名無しさん
08/04/27 03:30:50
委員会のキーワード忌避は強迫観念レベルだな
489:デフォルトの名無しさん
08/04/27 03:33:59
それほど既存のソースが多すぎるのさ。
そこはしゃーないと思う。
でも、C99 の #define bool _Bool みたいに
互換性を保ちつつキーワードを導入するテクはもっと使ってもいいと思う。
490:デフォルトの名無しさん
08/04/27 03:48:53
無名関数のおかげで無名構造体にコンストラクタとデストラクタを搭載できるようになりました!
大勝利ですね!
491:デフォルトの名無しさん
08/04/27 04:06:37
一方ロシアはコンストラクタをthisで定義できるようにした。
492:デフォルトの名無しさん
08/04/28 11:12:49
なんでlambda expressionのlambda-return-type-clauseって、
->を使うんだろ。
コロンじゃだめだったのかな。
たとえば、普通の関数も統一しようぜっていうN2582も、
こんな風に書けるのに。
[] func() : int
{
return 0 ;
}
493:デフォルトの名無しさん
08/04/28 11:35:23
#define : ->
は無理だったっけ ...
494:デフォルトの名無しさん
08/04/28 11:44:20
>>492
見た目が違うだけじゃんw
495:デフォルトの名無しさん
08/04/28 13:33:02
[] main(int argc, char* argv[]) -> int
{
//...
}
496:デフォルトの名無しさん
08/04/28 18:35:05
>>492
コロンはコンストラクタの初期化子と競合しそうだな。
497:デフォルトの名無しさん
08/04/28 18:38:20
コンストラクタでは戻り値の型がないから大丈夫じゃね。
文法的な紛らわしさに関してはまああるかもしれないが。
498:デフォルトの名無しさん
08/04/28 18:46:28
ECMAScript4ってそんな感じじゃなかったっけ
いやだなぁ
499:デフォルトの名無しさん
08/04/28 19:30:15
function func() : int { return 0 ; }
だったか。ECMAScript4は文法キモすぎて見たくもない。
いつのまにかコンストラクタの初期化子まで採用してるし。
500:デフォルトの名無しさん
08/04/28 19:35:51
テンプレートもあるよ!
function func.<T>() : T { return new T(); }
501:デフォルトの名無しさん
08/04/28 20:35:43
ぐはぁ
502:デフォルトの名無しさん
08/04/28 20:42:16
しかしなぜ->なんだ
Haskellかよ
503:デフォルトの名無しさん
08/04/28 21:04:22
プログラミング言語 Scala
スレリンク(tech板)
Scala違いだ移動しる・・
504:デフォルトの名無しさん
08/04/28 22:49:10
returnでいいじゃんかよ
コンフリクトはないはずだ
[] func() return int
{
return 0 ;
}
505:デフォルトの名無しさん
08/04/28 22:50:51
なんかもうどうやってもキモいんだが。
506:デフォルトの名無しさん
08/04/28 22:52:00
ラムダ式くらい 100% 型推論でやってくれ。
507:デフォルトの名無しさん
08/04/28 22:53:18
そもそもどうしてラムダと形を合わせたいんだ
コピペのためか?
508:デフォルトの名無しさん
08/04/28 22:56:04
関数型言語的には→なんだから、
->でいいんじゃないの?
509:デフォルトの名無しさん
08/04/28 22:58:39
関数型言語的にどうかは知らんしどうでもいいが
C系言語的には->は昔からずっと間接参照演算子だ
510:デフォルトの名無しさん
08/04/28 23:13:55
美少女中学生的には -> と [] はブラのホックの両端だから
511:デフォルトの名無しさん
08/04/28 23:26:17
>>504
それ、俺も思っていたんだけど、
C++の文法としては、何か違和感あるよね。
ところで、@と$がC++の規格にないのは、何か理由があるの?
512:デフォルトの名無しさん
08/04/28 23:30:21
[] int foo() { ... } で不都合があったから -> になったんだと思うが、
どんな不都合があったの?
513:デフォルトの名無しさん
08/04/28 23:50:13
returnsのほうがいい
514:デフォルトの名無しさん
08/04/28 23:53:10
>>512
(charからcharへの関数)を引数に取り(intからintへの関数)を返す関数
を引数に取り(charからintへの関数)を返す関数の型を、
C++03(「関数」は「関数へのポインタ」とする)とC++0xで書いてみてくれ。
515:デフォルトの名無しさん
08/04/28 23:58:27
int (*(int (*(*)(char (*)(char)))(int)))(char) のことだよね?
516:デフォルトの名無しさん
08/04/29 00:10:24
グロい
517:デフォルトの名無しさん
08/04/29 00:11:59
まぁ現状十分汚い言語なんだから、
多少醜くなってもいいじゃん
518:デフォルトの名無しさん
08/04/29 00:14:30
>>517
いいこと言うなあ。君のそのレスで俺の気持ちは吹っ切れたよ。
519:デフォルトの名無しさん
08/04/29 00:19:47
[]([]([](char)->char)->([](int)->int))->([](char)->int)
520:デフォルトの名無しさん
08/04/29 02:22:09
typedef char (*ctoc_t)(char);
typedef int (*itoi_t)(int);
typedef int (*itoc_t)(char);
typedef itoi_t (*ctoc_to_itoi_t)(ctoc_t);
typedef itoc_t (*answer_t)(ctoc_to_itoi_t);
こんな型何に使うかは知らんが、使うとしたら
きっと近くでitoc_t型やctoc_to_itoi_t型の変数も必要になるだろ
ならそんなキモい書き方しないで必要なものをtypedefで作るべき
521:デフォルトの名無しさん
08/04/29 06:35:41
>>519の方がわかりやすいが?
522:デフォルトの名無しさん
08/04/29 07:06:50
>>519
これは従来のアナルっぽい記法よりは読みやすいな
523:デフォルトの名無しさん
08/04/29 07:15:37
>>511
いまさらtrigraphやdigraphの要るような記号追加するのもねえ…ってことじゃないかと予想
524:デフォルトの名無しさん
08/04/29 07:38:26
>>523
そういう理由なのかなぁ。
しかし、trigraphやdigraphって廃止しても、それほど互換性の問題も無いんじゃないかなとおもったりするんだけど。
西側の、なまじ7bitで全種類の文字を表せちゃったので、悲惨なことになっている連中も、
結局使ってないみたいだし。
525:デフォルトの名無しさん
08/04/29 09:39:20
>>521
まずそんなものを書く状況自体が無いな。
あっても >>519 も読みづらいから typedef 使うわ。
526:デフォルトの名無しさん
08/04/29 11:51:29
C++でtypedefを禁止したらどんなカオスなコードになるか見てみたい
527:デフォルトの名無しさん
08/04/29 11:53:44
>>526
template メタプログラミングがかなり出来なくなる気が ...
528:デフォルトの名無しさん
08/04/29 11:58:25
>>526
decltype と auto を駆使することになる
529:デフォルトの名無しさん
08/04/29 18:05:21
あーはやくautoが欲しい
530:デフォルトの名無しさん
08/04/29 19:02:48
正直、auto 以外、いらん。初期化もまぁあればいいね、程度だし
531:デフォルトの名無しさん
08/04/29 19:46:54
ここまでいじっちゃうともう新しく言語作った方が早い気がするしな。
532:デフォルトの名無しさん
08/04/29 19:51:44
Cとの互換性をとりつつ拡張するのに苦労してんのにそんな事言うなよ
533:デフォルトの名無しさん
08/04/29 20:12:56
互換性無視できる
ネイティブディレクティブとか作ろうよ
534:デフォルトの名無しさん
08/04/29 20:36:05
もう互換性なんかとっくにボロボロなのに今更何を
535:デフォルトの名無しさん
08/04/29 21:37:43
>>530
初期化指定子で初期化指定が完了するのは美しいと思わんか
536:デフォルトの名無しさん
08/04/29 21:54:12
なぁ、これは俺の思い過ごしかもしれんのだが
ヒープ領域って誰が管理してくれるんだ?
ラムダ返されて、それ引数に関数呼び出して
関数の中でグローバルに束縛されて... ... ...
でも, らむだはデストラクションしないとまずいんだろ?
537:デフォルトの名無しさん
08/04/29 22:07:15
関数を動的に生成してるわけじゃないだろ
538:デフォルトの名無しさん
08/04/29 22:17:48
536 に便乗で聞くけど、
例えば C# の場合、ローカル変数を参照するようなラムダ式書くと、
クラスが自動生成されて、ローカル変数参照がメンバ参照に置き換わるんだけど、
そういう状態になった場合、デストラクタはどこで呼ばれるの?
ローカルスコープ内でしか使わないラムダ式ならいいけど、
例えば、「ラムダ式を返す関数」みたいなの作っちゃった場合。
539:デフォルトの名無しさん
08/04/29 22:21:56
そんなのローカル変数のポインタ返してるのと一緒だろ
クラッシュしても自業自得で済まされる話
C++はプログラマを全面的に信頼する言語ですよ
540:デフォルトの名無しさん
08/04/29 22:24:33
>>537
あんまマジにシンタックス見てないんであれなんだが
こんな感じの関数書くとするやん?
f(x, y) {
return [copy x]lambda(y){+ x; ...}
}
この場合, x はスタックじゃなくてヒープに取るしかないと思うんだ
で,
g(f(1), f(2)...)
とかな感じで, 呼び出したら?
f が返す関数に束縛されてる x がコピーされた領域は誰が回収するんだろ?
と、思った
541:デフォルトの名無しさん
08/04/29 23:01:43
ん、よくわからん。
スタックじゃないの?
542:デフォルトの名無しさん
08/04/29 23:04:43
alloca() を思い出した
543:デフォルトの名無しさん
08/04/29 23:08:10
new [...] (...) {...}
はないの?よくわからんけど
544:デフォルトの名無しさん
08/04/29 23:23:24
ラムダ式は関数オブジェクトのシンタックスシュガー
なので、単なる一時オブジェクトとして生成されると思う
545:デフォルトの名無しさん
08/04/29 23:24:34
関数から返せないということか。
何かエセっぽいな。
546:デフォルトの名無しさん
08/04/29 23:28:11
C的に考えると、それでいい気がする。
547:デフォルトの名無しさん
08/04/29 23:30:37
折角だからカリー化とかしたいのになあ。
548:デフォルトの名無しさん
08/04/29 23:31:35
ラムダキャプチャーを参照でなく値(コピー)にしたら返せる
関数オブジェクトと同じ
でも、戻り値の型を特定できないかも、新シンタックスで可能?
549:デフォルトの名無しさん
08/04/29 23:33:07
カリー化は手動だな
550:デフォルトの名無しさん
08/04/29 23:33:48
>>544
となると、>>543 みたいな、ラムダ式をヒープに取るような構文が必要じゃない?
(スマートポインタ使うにしても、まずはただのポインタが要るし。)
それか、ラムダ式から生成される関数オブジェクトが
適切な operator = を実装しててくれるなら別にどうでもいいことなのかな。
551:デフォルトの名無しさん
08/04/29 23:37:49
>>550
あっても困らないけど、なくても良いと思う
ポリモーフィズムは必要ないし、必要なら従来の関数オブジェクトがあるし
552:デフォルトの名無しさん
08/04/30 00:13:58
本物のC++プログラマは動的解決をしない。
本物のC++プログラマはコンパイル時に解決する。
コンパイラでできなければ、プリプロセッサでやる。
プリプロセッサでできなければ、それはやる価値が無いのだ。
553:デフォルトの名無しさん
08/04/30 00:16:03
new を入れたのが間違いの始まりだったんですね
554:デフォルトの名無しさん
08/04/30 00:30:05
プリプロセッサ(笑)
555:デフォルトの名無しさん
08/04/30 00:36:14
タイトルはどうなるんだろう。
「本物のプログラマはJavaを使わない」
あたりかな
556:デフォルトの名無しさん
08/04/30 00:36:39
本物のプログラマネタが分からないのは
流石に本物のプログラマとは言えないな。
557:デフォルトの名無しさん
08/04/30 00:45:50
本物のプログラマがわからなければ、そのネタは理解する価値が無いのだ。
558:デフォルトの名無しさん
08/04/30 01:03:02
>>555
間違いなく言語と環境をごっちゃにした反論が帰ってきそうなタイトルだなw
559:デフォルトの名無しさん
08/05/04 00:38:19
conceptがまだドラフトに入らないのが気になる
一番楽しみなのに
560:デフォルトの名無しさん
08/05/04 00:39:07
独立wordingの方でまだまだ直しが続いてる。
561:デフォルトの名無しさん
08/05/05 18:01:34
ここで聞くか、Boostスレで聞くか迷ったんだけど、
Unordered associativeコンテナの、bucket関連のメンバってなんに使うの?
規格読んだだけだと、どうもよくわからないんだけど。
あるキーがどのbucketに属するかのインデックスを返されたとしても、
実際のbucket単位に直接アクセスする方法って無いよね?
普通に要素へのイテレータしかないみたいだし。
そのどのbucketに入れられているかってことが分かって、ライブラリを使う側の人間にとって、何がうれしいの?