08/09/19 12:20:36
まぁ、何か恥かいたときに「本気出してないからだ」って
自分に言い聞かせられる状態を常に保って書くのが2chだしな。
553:デフォルトの名無しさん
08/09/19 12:32:15
いや、俺はリアルで全力出せない分全力でレスして全力で恥をかくぞ
554:デフォルトの名無しさん
08/09/19 17:57:47
確信度によって態度変えるのが皆のため
555:デフォルトの名無しさん
08/09/19 20:34:41
URLリンク(twitter.com)
556:デフォルトの名無しさん
08/09/19 20:50:19
cpp_akiraさんもう何がしたいのか分からなくて痛々しくなってきてるからやめて。
557:アキラ
08/09/19 21:20:31
また誤解されるのはイヤなので書いておきます。
548-551の話は、私のことではなくhitoさんのことですよね。
なのでTwitterでは、そんなこと言ってない、というようなことを書きました。
それと、555は私ではありません。
558:デフォルトの名無しさん
08/09/19 21:20:56
>>556
cpp_akira より晒し続けてるバカのほうが痛々しいし心配だ。
559:558
08/09/19 21:21:32
あ、すまん age てもうた。
560:デフォルトの名無しさん
08/09/19 21:25:03
>>557
>>555 みたいなのは相手をするだけ調子づくだけだから、シカトこいたほうがいいよ。
それが >>555 みたいなヤツの為にもなるし。相手にすると双方、馬鹿を見ることになるよ。
561:デフォルトの名無しさん
08/09/19 21:31:08
Twitterで誰が何やってるとか、いちいち構うなよ
562:デフォルトの名無しさん
08/09/19 22:02:30
>>555より>>548だろ、痛々しいのは。
563:デフォルトの名無しさん
08/09/19 22:07:18
同じ人じゃね?w
564:デフォルトの名無しさん
08/09/19 22:11:14
お前らもっとレベル高い話しろよ。
人の事なんてどうでもいいだろ?C++0xの話をしろC++0xの話を。
565:デフォルトの名無しさん
08/09/19 22:27:11
じゃ、話題でも振るか。
late_checkは必要悪なんだろうか。
late_check {
//以下、スレ違いの話題も可
566:デフォルトの名無しさん
08/09/19 22:31:20
}
567:デフォルトの名無しさん
08/09/19 23:07:44
>>565
ないとどうにもならん。
N2719を読んで鬱。
俺にmove semanticsは使いこなせるだろうか…
568:デフォルトの名無しさん
08/09/19 23:35:32
そんなキモチワルイ構文よりプロパティをですね
569:デフォルトの名無しさん
08/09/20 00:30:49
わちゃー! late_check!
なんだこれは
直感的に拒否反応が出たけど
でも今はしっかり飲んじゃってるんで理解できないや
570:デフォルトの名無しさん
08/09/20 00:34:50
また性懲りもなく「xxxは僕です」ごっこやってんのか
ウザいを通り越してイタいぞ
はてなだかツイッターだかしらんが村から出てくんなよ
ガキが
571:デフォルトの名無しさん
08/09/20 00:41:03
ここは C++0x を語るスレなんであって、C++0x を語る人を語るスレではないのでそこんところよろしく。
572:デフォルトの名無しさん
08/09/20 09:29:42
美少女中学生を語るスレでもあるぞ
573:デフォルトの名無しさん
08/09/20 09:44:10
違いますやめてください迷惑です
574:デフォルトの名無しさん
08/09/20 11:48:28
hitoに触れるなよ
人間性に問題がある奴なんだから
575:デフォルトの名無しさん
08/09/20 12:13:55
人間性に問題ないプログラマなんているの?
C++やってるやつなんて特に
576:デフォルトの名無しさん
08/09/20 12:28:41
それでも >>570 みたいな匿名で粋がってるだけのチキンと一緒くたにはされたくないです!><
577:デフォルトの名無しさん
08/09/20 12:31:55
そこでデレて!
578:デフォルトの名無しさん
08/09/20 13:10:49
みんな好き…
579:デフォルトの名無しさん
08/09/20 13:50:34
またアキラか
580:デフォルトの名無しさん
08/09/20 15:40:33
>>575
開き直るなよ屑hito
581:デフォルトの名無しさん
08/09/20 15:44:10
for(;;);
582:デフォルトの名無しさん
08/09/20 23:54:38
0bの話しようぜ!
583:デフォルトの名無しさん
08/09/21 00:27:12
>>582
それは2011年になっちゃったってこと?
それとも2進リテラル?
584:デフォルトの名無しさん
08/09/21 07:23:11
オービー?
585:デフォルトの名無しさん
08/09/21 18:47:31
いいえ女子中学生です
586:アキラ
08/09/23 13:57:11
これだから2chは・・・
587:デフォルトの名無しさん
08/09/23 14:46:22
はいはい偽物
588:デフォルトの名無しさん
08/09/23 14:55:37
美少女中学生の人気に嫉妬
589:デフォルトの名無しさん
08/09/23 14:58:09
スレッドスコープ変数とかあるのかな
590:デフォルトの名無しさん
08/09/23 15:19:17
スレッドとは何かを言語で規定しなきゃならなくなるからなぁ
無理だろ
591:デフォルトの名無しさん
08/09/23 15:26:28
>>590
そこはもう済んでると思うよ。
592:デフォルトの名無しさん
08/09/23 16:17:30
済んでるの?
スレッド関係はライブラリにするんじゃなかったっけ
あったとしてもスレッドの寿命に合わせて管理されるヒープ変数を保持するテンプレートクラスとか
そんなんだろ
593:デフォルトの名無しさん
08/09/23 16:42:55
ちゃんとメモリモデルから言語に組み込まれてるよ。↓こんな感じで。(ドラフト N2723 から)
> 1.10 Multi-threaded executions and data races [intro.multithread]
> 1 Under a hosted implementation, a C++ program can have more than one thread of execution (a.k.a. thread)
> running concurrently. The execution of each thread proceeds as defined by the remainder of this standard.
> The execution of the entire program consists of an execution of all of its threads. ...
594:デフォルトの名無しさん
08/09/24 09:08:21
>>592
最低でも、
URLリンク(www.open-std.org)
のタイトルくらいは眺めてくれよ。paper本文は読まなくていいから。
あと、
URLリンク(www.open-std.org)
URLリンク(www.open-std.org)
595:デフォルトの名無しさん
08/09/28 21:54:28
この世にはスタックとヒープしかないっていうCの潔さが好きだったのに…
596:デフォルトの名無しさん
08/09/29 01:39:28
>>595
getenv(3)やstdio.hの事も忘れないであげてください。
597:デフォルトの名無しさん
08/10/09 05:12:59
News 2008-10-08: The 2008-10 mailing is available
News 2008-10-08: The C++ Standard Core Language Issues List (Revision 59) is available
News 2008-10-08: The C++ Standard Library Issues List (Revision 60) is available
598:デフォルトの名無しさん
08/10/09 05:46:44
N2763からnamed lambdaとblock-local functionが取り除かれている。
残念だ。
599:デフォルトの名無しさん
08/10/18 14:08:10
finalとか追加されんのか
class hoge [[ final ]]
{
}
sealedが欲しかった俺としてはうれしいが文法が・・
600:デフォルトの名無しさん
08/10/18 14:26:37
finalとconstって、どう違うんだ?
継承不可ってだけ?
601:デフォルトの名無しさん
08/10/18 14:54:22
属性が後ろに付くのがダサイ
602:デフォルトの名無しさん
08/10/18 15:07:13
じゃあDつかおうぜ
603:デフォルトの名無しさん
08/10/18 15:27:20
なぁにconstメンバ関数と一緒さ。
604:デフォルトの名無しさん
08/10/18 15:30:11
まあ、Cの時代から属性は後ろに書くものだったからなあ…
605:デフォルトの名無しさん
08/10/18 15:43:30
他が前にたくさん付き過ぎなんだよ
606:デフォルトの名無しさん
08/10/18 16:13:54
遂にconceptが草稿に入った
607:デフォルトの名無しさん
08/10/18 16:33:48
いまさらどうした?
ドラフトが出たのは九日も前だぞ。
608:デフォルトの名無しさん
08/10/18 17:04:23
後ろに付くのはいいけど[[]]が激しくダサい
wikiのリンクみたい
609:デフォルトの名無しさん
08/10/18 18:47:15
Microsoftが頑張ってC++/CLIのと似た構文にしてくれればいいのに、とVC++使いは思う。
610:デフォルトの名無しさん
08/10/18 18:51:21
なんだかんだ言ってC++/CLIの記法は悪くないよな
まぁ、使う気はないんだが
611:デフォルトの名無しさん
08/10/18 21:38:43
洗練されているって感じがいいんだよなC++/CLIの文法は
612:デフォルトの名無しさん
08/10/19 01:43:41
しがらみがないってだけじゃね
613:デフォルトの名無しさん
08/10/19 01:51:44
しがらみがないおかげでグロ構文が必要ないことは素晴らしいことだ
614:デフォルトの名無しさん
08/10/19 01:59:57
[&]
615:デフォルトの名無しさん
08/10/19 02:07:57
spaced keywordなんて最悪のグロだ。頭おかしいと思う。
616:デフォルトの名無しさん
08/10/19 04:08:17
C++/CLIよりはManaged C++の方がマシだな俺は。
617:デフォルトの名無しさん
08/10/19 07:55:21
泥団子lisp
618:デフォルトの名無しさん
08/10/19 12:53:24
>>616
属性に関してはどっちも同じ構文だぞ。
619:デフォルトの名無しさん
08/10/19 12:55:43
public ref class Hoge sealed
620:デフォルトの名無しさん
08/10/19 18:59:55
C++でGCサポートしようと思ったらああいう方法しかないよなぁ
621:デフォルトの名無しさん
08/10/19 19:16:10
C++/CLIはチルダだったっけ
622:デフォルトの名無しさん
08/10/19 19:35:54
ハット。結局、構文を整理し直したら C++/CLI になった、なら馬鹿馬鹿しい話だな
623:デフォルトの名無しさん
08/10/27 11:09:57
いいところは一緒になってもいいよ。
プロパティは止めて欲しいけど。
メタなスロットアクセスフックにして欲しい。
move semanticsみたいにね。
624:デフォルトの名無しさん
08/10/27 23:03:46
>>623
>メタなスロットアクセスフックにして欲しい。
>move semanticsみたいにね。
kwsk
625:デフォルトの名無しさん
08/11/01 01:20:43
最終ドラフトが採択されたそうですよ
URLリンク(yebo-blog.blogspot.com)
626:デフォルトの名無しさん
08/11/01 03:57:35
結局ラムダのウンコ構文はそのままか…
627:デフォルトの名無しさん
08/11/01 10:43:23
まだまだ変更される可能性があるから、いったいどこから最終なんて言葉が出てきたのか疑問。
628:デフォルトの名無しさん
08/11/01 11:25:50
completeを最終と訳してしまったんではないかな。
feature-complete、C++0xに入る機能は全てレビュー出来る状態になった
「全て揃った公開ドラフト(complete public draft)」が出来た。
URLリンク(herbsutter.wordpress.com)
629:デフォルトの名無しさん
08/11/01 13:58:50
所でconcept gccみたいな産廃じゃないまともな処理系ができるのはいつですか?
630:デフォルトの名無しさん
08/11/01 14:11:38
規格が制定されてから五年後ぐらいには、まともな処理系が登場すると思ってるんだけどね。
631:デフォルトの名無しさん
08/11/02 00:42:51
>>629
ヒント:自分で作る
632:デフォルトの名無しさん
08/11/02 00:45:14
すでにC++のコンパイラは一人の天才の手の負える仕事ではなくなっているわけだが。
633:デフォルトの名無しさん
08/11/02 01:03:00
じゃあ発想の逆転で、C++インタープリタを作る。
634:デフォルトの名無しさん
08/11/02 01:46:43
LLVM/clang のひとたちががんばってくれないかな...
Apple に買収されたから C++ にはあんまり興味ないのかな。
635:デフォルトの名無しさん
08/11/02 02:05:09
>>632
仕様が決まってる言語処理系の実装に天才なんて不要
時間さえあれば経験豊富な凡才一人で完成するだろう
636:デフォルトの名無しさん
08/11/02 02:18:37
アホなのかな、この子は?
637:デフォルトの名無しさん
08/11/02 02:28:52
アホだな。
638:デフォルトの名無しさん
08/11/02 02:43:33
エロい会話禁止
639:デフォルトの名無しさん
08/11/02 05:33:25
C言語コンパイラなんか天才なら8時間で作っちゃうよ。
最適化までは無理だが。
640:デフォルトの名無しさん
08/11/02 05:37:11
天才じゃないだけあって説得力が無いな。
641:639
08/11/02 06:11:01
30年ほど前、3歳のときに実際に作ったからそう言ってるの。
正確にはコンパイラジェネレータを8時間で作って、あとは1ヶ月かけて自動生成したんだけど、
いまどきのパソコンなら数分で完了するよ。
もちろん全ての仕様を網羅してるわけじゃないし基本ライブラリもないけどな。
最初のコンパイラだから。
642:デフォルトの名無しさん
08/11/02 06:12:08
もうちょっと面白くならないものかな。
643:デフォルトの名無しさん
08/11/02 06:20:10
もうちょっとひねりが欲しかったね
期待外れと言わざるを得ない
644:639
08/11/02 06:33:00
>>642-643
つまり天才を否定するわけだな。
645:デフォルトの名無しさん
08/11/02 07:42:26
神童も大人になればただの人...どころかただの馬鹿と化してしまったわけですね、わかります。
646:639
08/11/02 07:58:08
> 大人になればただの人
いえいえ
完成品を渡して翌日には殴られて記憶喪失ですよ。
しかも殴られた理由が、「次はTRONを1日で完成させろ」って言われて拒否したから。
647:639
08/11/02 08:00:56
要するに人身売買暴力団が仕切ってる限り日本に技術は育たない。
パチンコのゴト師だとか中国スパイに暗号技術者が殺されたりしまくってるでしょ。
648:デフォルトの名無しさん
08/11/02 11:16:52
久々にやねうらおみたいのを見た
649:デフォルトの名無しさん
08/11/02 11:38:33
面白さがみじんもないな
650:デフォルトの名無しさん
08/11/02 12:20:06
本人は面白いと思ってるんだから、そっとしておいてやれ
651:デフォルトの名無しさん
08/11/02 18:43:11
まともな処理系になるかどうか分からないけど、
VC++2010のCTPに0xの機能が一部入ったようだ
URLリンク(blogs.msdn.com)
URLリンク(blogs.msdn.com)
652:デフォルトの名無しさん
08/11/02 20:43:55
メジャーなC++コンパイラの最新版やプレビュー版で実装されてる機能(主なもの)
・GCC (URLリンク(gcc.gnu.org))
rvalue references
variadic templates
initializer lists
static assertions
decltype
strongly typed enum
・Visual C++ (URLリンク(blogs.msdn.com))
lambda
rvalue references
static assertions
auto
・C++Builder (URLリンク(dn.codegear.com))
rvalue references
static assertions
decltype
strongly typed enum
char16_t, char32_t
現時点ではこんなもん?
今後、C++0xが正式に出るまでどれだけ実装されるかな
653:デフォルトの名無しさん
08/11/02 20:58:28
一般的とは言えないかもしれないが、
・Comeau C++ ( URLリンク(www.comeaucomputing.com) )
static assertions
auto type specifier
extern template
後、細々したもの。
654:デフォルトの名無しさん
08/11/02 21:47:35
一番大事なautoを実装してるのはメジャー所ではVCだけかよ…
655:デフォルトの名無しさん
08/11/02 21:51:03
ほかはdecltypeがあるからいいじゃない。
656:デフォルトの名無しさん
08/11/02 22:02:15
しかしだね。
auto x = a + b ;
auto iter = v.begin() ;
の変わりに、
decltype(a + b) x = a + b ;
decltype(v.begin()) iter = v.begin() ;
では面倒だぜ。
657:デフォルトの名無しさん
08/11/02 22:07:54
#define demi_auto(X, Y) decltype(Y) X = Y;
...こんなマクロが流行るんですね、わかります。
658:デフォルトの名無しさん
08/11/02 22:27:39
>>657
既にBOOST_AUTOが切り開いた道
659:デフォルトの名無しさん
08/11/02 22:36:53
autoとdecltypeってどっちかが出来たらもう片方もすぐ出来そうだけどな(効率は別にして)
一番目立つ機能だから変なマクロが流行る前に最優先で実装して欲しい
660:デフォルトの名無しさん
08/11/02 22:39:51
demi って中二病っぽいね。
661:デフォルトの名無しさん
08/11/02 22:41:04
美少女中学生は中二が一番いいよぜ?
662:657
08/11/02 22:43:22
>>660
悪かったな。
663:デフォルトの名無しさん
08/11/02 22:45:06
decltypeの読み方は
「でっくるたいぷ」
でよろしいですねッ!
664:デフォルトの名無しさん
08/11/02 22:45:16
demicup
665:デフォルトの名無しさん
08/11/02 23:46:55
>>659
decltypeはsizeofの変種でめっちゃ簡単。
autoは宣言/定義を解釈するコードを書き換える必要がある。
最悪トップダウン/ボトムアップを入れ替える必要あり。
666:デフォルトの名無しさん
08/11/03 00:01:35
式の型が分かったら、
そのサイズを計算せずに、
その型のまま返すだけだからね。
sizeof → decltype
667:デフォルトの名無しさん
08/11/03 00:51:07
だからVCがベータにもならないのに、いきなりautoをサポートしてるのに驚いたんだがな。
普通decltypeが先だろと。
668:デフォルトの名無しさん
08/11/03 01:11:42
GC入るって本当?
669:デフォルトの名無しさん
08/11/03 01:13:30
autoはC++/CLIがらみで追加を計画していたと推測してみる。
670:デフォルトの名無しさん
08/11/03 01:21:21
C++/CLIの記法というか、MSがここまで評価されるのも珍しいなw
671:デフォルトの名無しさん
08/11/03 01:40:42
昔は知らないんだが、VCの方がgccよりもテンプレートのサポートが優れていると、
あのC/C++インタプリタ、CINTのドキュメントに書いてあるんだが。
これはいつ頃書かれたんだろうね。かなり昔の事だと思うが。
URLリンク(root.cern.ch)
>Template works probably better than most of UNIX based C++ compilers,
>but not as good as Windows based ones.
672:デフォルトの名無しさん
08/11/03 02:07:33
そうかautoって難しいのか
auto検出したら内部で657のマクロみたいな置き換えすりゃいいだけかと思ってた
673:デフォルトの名無しさん
08/11/03 04:20:31
>>671
確か、VC++が標準対応売りにしだしたのはVS2002の辺りから。
ひどかったのは、VC6からVS2002の間が開き過ぎたせい。
674:デフォルトの名無しさん
08/11/03 04:58:18
2002 も結構ひどかったけどな。4年も待ったのにそれかよって感じで。
そして 2003 で一気に改善されて、2002 のアカデミック(無料アップデート対象外)を買った俺涙目。
675:デフォルトの名無しさん
08/11/03 05:54:15
4年どころじゃなくない?
VC6って96年だった気が。
C++の標準化の1つの節目が98年なんで、VC6が対応しているわけもないという。
676:デフォルトの名無しさん
08/11/03 08:26:56
今もバグフィックスが遅れているから、
boostなんかVC++パッチの嵐だよね。
testが一番通ってるのもVC++なんだがw
メジャー・バージョンアップで適合率トップ、
マイナー・バージョンアップではノロノロで追い抜かれる、
の繰り返しだね。
677:デフォルトの名無しさん
08/11/03 09:02:31
まあ開発スタイル的にそうなるのが必然だろ
gccなんかと比べると特に
678:デフォルトの名無しさん
08/11/03 09:05:31
開発スタイルよりも、バグであっても、自社のものに依存しているものが多いから、
簡単にフィックスできないって事があるね。
679:デフォルトの名無しさん
08/11/03 09:09:46
boost が Comeau 非対応なのはなんか理由があったんだっけ?
680:デフォルトの名無しさん
08/11/03 10:48:12
メンテナンスするひとがいないだけでしょ
681:デフォルトの名無しさん
08/11/03 12:29:23
conceptを実装するのが一番しんどいイメージが
682:デフォルトの名無しさん
08/11/03 13:36:54
現状の型のセマンチクスを変更しないからそうでもないような
あ、conceptとか入れたらlookupの挙動が変わる?
683:デフォルトの名無しさん
08/11/03 13:40:55
どこかのサイトに書いてあったけど、
VCはconceptを実装するのに一年はかかるとか
なぜかはわかんね
684:デフォルトの名無しさん
08/11/03 15:10:28
一年で実装できたら大したものだ。
五年はかかるぜ。
685:デフォルトの名無しさん
08/11/03 15:13:52
俺なら8年で実現してやる
686:デフォルトの名無しさん
08/11/03 15:14:49
俺なら3年かけてから挫折する自身あるぜ
687:デフォルトの名無しさん
08/11/03 17:34:29
>>683
C++03やC++/CLIが使えなくなるわけじゃないから、
MSにとってそんなに優先順位の高い仕事じゃない。
コンパイラだけでライブラリはそのままじゃアレなんで、
ライブラリやらないといけないし、
独自ライブラリの部分のconcept化をどうするか考えて、
設計しとかないといけない。concept化やらない部分も、
やる部分との整合を考えないといけないから。
g++は規格部分+独自拡張だけだから身軽。
規格に全て書いてあるわけじゃないしね。
Issues Listにあるようなことを実装しながら考えないといけない。
688:デフォルトの名無しさん
08/11/03 17:53:09
>>682
現行のコードは変わらないだろ。
689:デフォルトの名無しさん
08/11/05 22:35:59
続・VC++10はいろいろ実装されない
URLリンク(d.hatena.ne.jp)
最低だ
690:デフォルトの名無しさん
08/11/05 22:38:40
initializer_listよお前もか
691:デフォルトの名無しさん
08/11/05 22:43:13
>>690
>>689にはinitializer_listのことは書いてない気がするんだが
692:デフォルトの名無しさん
08/11/05 22:43:22
中途半端な物を実装されるよりはましじゃないの
まだ仕様の方がちゃんと決まってないのに無茶言うな
693:デフォルトの名無しさん
08/11/05 23:00:14
上流設計の遅れを現場に押しつけるのイクナイ!
694:デフォルトの名無しさん
08/11/05 23:09:30
下手に実装したら、数年後VC6の悪夢が再びやってくること間違いなしだな。
695:デフォルトの名無しさん
08/11/05 23:49:08
VC10の寿命がVC6並に長くなる理由が
ないので、それは大丈夫じゃないかな。
696:デフォルトの名無しさん
08/11/06 08:36:45
constructor delegationにmember initialization、
どっちも後から付けやすい機能だから、
次のアップデイトに入るんじゃないか?
697:デフォルトの名無しさん
08/11/06 09:35:36
サービスパックでだすような変更じゃないと思うんだが。
698:デフォルトの名無しさん
08/11/06 09:40:00
それを考えるのは美少女中学生だな
699:デフォルトの名無しさん
08/11/06 19:58:17
本格対応はVC11待ちか・・
700:デフォルトの名無しさん
08/11/06 20:44:14
サービスパックで対応するかどうかはまだ分からないとvcblogの人が言っていたな
701:デフォルトの名無しさん
08/11/12 22:05:43
【プログラム】C++ 12010年に新バージョン"C++0x"へ - ガベージコレクタなど導入(08/11/12)
スレリンク(pcnews板)
702:デフォルトの名無しさん
08/11/12 22:25:39
あれ?ガベージコレクタ入るのん??
703:デフォルトの名無しさん
08/11/12 22:43:07
C++0x2EEAか。
704:デフォルトの名無しさん
08/11/12 22:54:20
C++0xの0xとは実は16進数のことだったんだよって
公式に言い訳しないの?w
705:デフォルトの名無しさん
08/11/12 23:14:17
0xの時点ですでに16進数ぢゃない
706:デフォルトの名無しさん
08/11/12 23:54:54
C++0xFFFFFFFF だお
707:デフォルトの名無しさん
08/11/13 00:03:23
BOM付けてくれ。
708:デフォルトの名無しさん
08/11/13 07:40:03
>>704
それは言い訳というよりは、むしろ愚直な反応というべきかも。
自分達からはその件について何も言わず、誰かに突っ込まれてから
「え? どう考えても16進数でしょ? アナタ何だと思ってたんですか?」
とか返すよりはw
709:デフォルトの名無しさん
08/11/13 19:20:17
なんで2010年の10進数で下二桁とってそれを16進数にするんだよw
2010は、16進数で 7DA な。 C++Dx ならまだ納得できるがw
710:デフォルトの名無しさん
08/11/13 21:06:44
そんなことよりGC導入って本当?
見送られたんじゃなかったっけ?
711:デフォルトの名無しさん
08/11/13 23:03:40
3.7.4.3
712:デフォルトの名無しさん
08/11/13 23:17:04
本格的に使えるようになるのは0f年ごろかな
713:デフォルトの名無しさん
08/11/14 00:19:50
これってコンパイラは現存するの?
714:デフォルトの名無しさん
08/11/14 00:22:57
いったい何をいってるんだ?
715:デフォルトの名無しさん
08/11/14 00:42:28
0xコンパイラは絶滅したよ
716:デフォルトの名無しさん
08/11/14 10:48:00
未来に戻れ
717:デフォルトの名無しさん
08/11/14 11:01:04
0x80xだな
西暦2048~2063年までには
718:デフォルトの名無しさん
08/11/14 21:09:22
もういいよ
719:デフォルトの名無しさん
08/11/14 21:28:13
0xネタはもういいよ
もっと面白い話題にしようぜ
ユーザー定義リテラル採用で0b厨歓喜とか
720:デフォルトの名無しさん
08/11/14 21:37:48
俺、wwwwで一進数リテラル作ろうと思うんだ…
721:デフォルトの名無しさん
08/11/14 23:06:53
1: w
2: ww
3: www
10: wwwwwwwwww
なぁ、0は?
722:デフォルトの名無しさん
08/11/14 23:09:43
0: w
1: ww
2: www
3: wwww
723:デフォルトの名無しさん
08/11/14 23:12:34
頭悪いな
724:デフォルトの名無しさん
08/11/14 23:15:43
素直にwWの二文字を使って2進数にしたほうが読みやすいと思うんだ。
夢はないけど
725:デフォルトの名無しさん
08/11/14 23:20:38
文字列リテラルをtemplate引数で受けれたらすごく楽しいことができそうなのに。
template<char c...> vector_c<char,c...> operator "" S();
decltype("hoge"S) → vector_c<char,'h','o','g','e'>
templateで受けられるのは数値(を構成する文字)だけっぽい。残念。
でもこれはできる?
decltype(123S) → vector_c<char,'1','2','3'>
726:デフォルトの名無しさん
08/11/14 23:21:45
文字列リテラルをtemplate引数で受けれたらすごく楽しいことができそうなのに。
template<char c...> vector_c<char,c...> operator "" S();
decltype("hoge"S) → vector_c<char,'h','o','g','e'>
templateで受けられるのは数値(を構成する文字)だけっぽい。残念。
でもこれはできる?
decltype(123S) → vector_c<char,'1','2','3'>
727:デフォルトの名無しさん
08/11/14 23:23:02
すまん。連投してしまった。
728:デフォルトの名無しさん
08/11/15 00:32:17
>>722
よくやった。わかりづらい。
さて次の議題だが、マイナス値はどうする?
729:デフォルトの名無しさん
08/11/15 02:20:14
>>728
0: w
1: ww
-1: www
2: wwww
-2: wwwww
730:デフォルトの名無しさん
08/11/15 02:28:36
またひとつ変態のためのオモチャができるわけですね
731:デフォルトの名無しさん
08/11/15 02:30:25
凶悪すぎるw
732:デフォルトの名無しさん
08/11/15 02:43:58
wとWでマイナス2進法を使って表せば任意長の整数が表せるな
733:デフォルトの名無しさん
08/11/15 04:31:33
>>728
そこでboost::lambdaでチャーチ数ですよ。
734:デフォルトの名無しさん
08/11/15 06:18:25
int w, h;
なんてのがコンパイルエラーになるワケww?
735:デフォルトの名無しさん
08/11/15 06:43:35
>>720は軽い気持ちで書いたが、規格では、
<literal> <user-defined-suffix>
しか許されないから、wwwwがリテラルになるのは無理なんだ。
int operator "" w(const char*p, size_t s) { // 提案ではoperator "w"と書いた。
return s; // '\0'は抜いたサイズが渡される。つまりstrlen(3)と同じ。
}
"www"w // == 3
なら可能。この定義なら ":-)"wでも3だが。
736:デフォルトの名無しさん
08/11/15 08:41:16
vで0、wで1を現わすとして2進数を実装するとこんな感じなのか。
"wvvvwvvwvwww"w // == 0x897
Vで2、Wで3を現わすとして4進数とか。
"WwVvwW"w // == 0xd87
737:デフォルトの名無しさん
08/11/15 09:42:00
-5 == "WWWW"w
-4 == "WWww"w
-3 == "WWwW"w
-2 == "Ww"w
-1 == "WW"w
#0 == "w"w
+1 == "W"w
+2 == "WWw"w
+3 == "WWW"w
+4 == "Www"w
+5 == "WwW"w
738:デフォルトの名無しさん
08/11/15 10:06:28
-2進数採用で負数も統一的に扱えるぜ
0 -> ""w
1 -> "W"w
-2 -> "Ww"w
-1 -> "WW"w
4 -> "Www"w
5 -> "WwW"w
2 -> "WWw"w
3 -> "WWW"w
739:デフォルトの名無しさん
08/11/15 10:19:23
-2進数とかワロスww
この話題に触れたのはクヌース先生の説明を読んで以来だぜw
740:デフォルトの名無しさん
08/11/15 10:42:35
どんどんわかりづらくなってるwww GJ!w
741:デフォルトの名無しさん
08/11/15 11:01:48
インタプリタ書けば別言語を埋め込むことも出来るよな
"+++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.\
------------.<++++++++.--------.+++.------.--------.>+."BF
=>"Hello world!"
夢が広がりんぐ
742:デフォルトの名無しさん
08/11/15 11:05:53
コンパイルタイムに評価できないと意味なさげ
743:デフォルトの名無しさん
08/11/15 11:16:43
仕様全然知らんのだけど、
ローマ数字をコンパイルタイムで数値変換とかは無理?
744:デフォルトの名無しさん
08/11/15 11:19:15
constexprって再帰もループもできないんだろ?
745:デフォルトの名無しさん
08/11/15 11:21:08
引数にコンパイル時定数しか取らないんだからあらかじめ計算できそうなもんだけどな
operator""の中でグローバル変数使う可能性があるから無理なんだろうか
746:デフォルトの名無しさん
08/11/15 11:23:52
>>744
再帰にしない代わりに同じ内容の関数をたくさんつくれば、
有限ステップの計算ならできるんじゃね。
747:デフォルトの名無しさん
08/11/15 13:13:28
boost::protoを使ってbrainfuckを実装する作業に戻るんだ
748:デフォルトの名無しさん
08/11/15 14:41:54
>>741
operator "" BF("abcdef")は、
operator "" BF<'a', 'b', 'c', 'd', 'e', 'f'>()と等価だから、
必要な分だけ特殊化しておけば大丈夫。
749:デフォルトの名無しさん
08/11/15 15:19:29
C++厨はすぐにTMPしようとするから困る。
750:デフォルトの名無しさん
08/11/15 15:23:50
>>749
素直にTMP厨と呼べば?
751:デフォルトの名無しさん
08/11/15 15:26:01
C++はD言語の爪の垢でも煎じて飲めば良いのになぁ>コンパイル時文字列操作
752:デフォルトの名無しさん
08/11/15 15:48:44
今度はD厨か。
753:デフォルトの名無しさん
08/11/15 15:57:39
Dといえば以前はDelphiだったのにな・・・
754:デフォルトの名無しさん
08/11/15 18:48:31
D厨は関数のコンパイル時実行で無限再起でも起こしてコンパイラを落としていればいい。
755:デフォルトの名無しさん
08/11/15 19:41:29
コンパイルタイム無限再帰で悩むのはC++、
コンパイルタイム無限ループで悩むのがD。
756:デフォルトの名無しさん
08/11/15 19:54:33
そろそろ文字列mixinを導入して本格的にマクロを捨てようじゃないか
757:デフォルトの名無しさん
08/11/16 00:13:59
importディレクティブマダー?
758:デフォルトの名無しさん
08/11/19 18:34:26
mixinなんてD臭いキーワード嫌だ
759:デフォルトの名無しさん
08/11/19 20:36:27
late binding指向のmixinなんかC++に入るわけがない。
760:デフォルトの名無しさん
08/11/21 11:50:31
>>19
761:デフォルトの名無しさん
08/11/21 17:57:57
後置単項の+はC++の演算子じゃないから>>19は構文エラー
762:デフォルトの名無しさん
08/11/22 01:13:42
後置+++はC+++の演算子だよ。
763:デフォルトの名無しさん
08/11/22 22:15:49
C# は # という演算子を作るべきだった。
764:デフォルトの名無しさん
08/11/22 22:17:46
C や C++ にすらあるというのに
765:デフォルトの名無しさん
08/11/22 22:55:25
でもC/C++の#演算子は前置単項だからな
766:デフォルトの名無しさん
08/11/22 22:57:28
使ったことないな
767:デフォルトの名無しさん
08/11/22 23:01:27
ASSERT のようなマクロを使う時に
引数をエラーメッセージに表示する時とかによく使う。
768:デフォルトの名無しさん
08/11/22 23:02:28
使う時に、じゃなくて、作る時に、だ。
769:デフォルトの名無しさん
08/11/22 23:28:01
プリプロセッサ演算子だな
770:デフォルトの名無しさん
08/11/23 21:58:51
ぷろぷりせっさ
771:デフォルトの名無しさん
08/11/24 09:12:03
ぷるぷるそっさ と空目
772:デフォルトの名無しさん
08/11/24 19:19:49
スレッドとメモリモデルに関してはどこを探せばいいですか
C++0xで決まるのかどうかもわかってないレベルですが
773:デフォルトの名無しさん
08/11/24 19:20:31
>>772 >>1
774:デフォルトの名無しさん
08/11/24 21:24:43
C++0xのラムダ式は再帰できますか?
775:デフォルトの名無しさん
08/11/24 21:30:15
C++2003でも不動点演算子となるような関数オブジェクトが定義できるんで
こういうのを0xでも実装すればかのうだと思います
776:デフォルトの名無しさん
08/11/25 10:09:21
>>774
VC++blogに0xのラムダを使った再帰の例が出てたよ
777:デフォルトの名無しさん
08/11/30 11:56:57
/ ..::::::...ヾ,-┐:::::.. ヽ、
/:::::::: :::::::::::::::..ヽ|、::::::::... ヽ、
/ :::::::: 、:::::::::::::::::...ヽ::::::::::::.. ヽ
/ ::::: 人、 | ヽ、_:::::::::::::: |:::::::::::::. |
,イ´ | :::ト、 | `'-,r‐=,、ヽ、 ::: |:::::::::::::: |
rv' l´ ヽ、:.| r-、 p ヽ `l ,ヘ::::::::::::::::: |
| | | ヾヽ、 ハ ヾ_ノ .| |' .|:::::::::::::::::: | ラムダっちゃ♥
'´ ̄ ̄`ヽ、、_ | | | ヽ、l ゞ ー | レ'::::::::::::::::::: |
 ̄ ` r-L l ', |` 、 ,' |:::::::::::::::::::::: |
_rヾニ `ヽ ', ヽ、 r‐-ァ /::|::::::::::::::::::::::::.. |
ヾゝイ´ ,/ .', ヽ、ゝ' _,.-;ノ:: |:::::::::::: ::::.. |
:.. ト ´ /.... 'ヽ,、_ >r' /:: /::::::::::::: ::: |
〉 .|:::::::::::...... `ー-‐'´,-/ /::::: / `ヽ、::: |
:.... .:::::::::::| |:::::::::::::::::,、-r―'''´ ̄ ,.-‐'´:::. / |:::::.... . |
::::::::::::::::::::::::::::::::| ',:::::::::::::∧ヾ V/―/::::::::::: / |:::::::::::.......:::. |
::::::::::::::::::::::::::::::::| ',:::::::::::ト kl /三/:::::::::: / ,'::::::::::::::::::::::: |
::::::::::::::::::::::::::::::::| ',:::::::::|ヾヾ|、 /::::::::: ,イ ,'::::::::::::::::::::::::: | |
::::::::::::::::::::::::::::::::| ',/ヽ__ヾ、|:::::: ∧/ /:::::::::::::::::::::::::: |.|.|
::::::::::::::::::::::::::::::::', ! / ヾ:: ∠__/ /:::::::::::::::::::::::::: | ||
778:デフォルトの名無しさん
08/11/30 12:04:27
N2554: The Scoped Allocator Model (Rev 2)
ってあるけど、これ地味にいいね
組み込みでもSTLコンテナとか使いやすくなる予感
779:デフォルトの名無しさん
08/11/30 23:24:37
そもそも組み込みではSTL自体が提供されていないことも珍しくなく
STLPortがコンパイル通るのも夢のまた夢だったり
780:デフォルトの名無しさん
08/12/01 00:18:37
>>778
メモリアロケーション関係はいいのが多いね。
>>779
Embedded C++(笑)
781:デフォルトの名無しさん
08/12/01 18:32:39
組み込みって標準入出力ないんでしょ?
cin,coutとかどうするんだろ
782:デフォルトの名無しさん
08/12/01 18:38:57
そういうとこでは<iostream>などが無くても良いことになっている。
フリースタンディングとかでググれ。
783:デフォルトの名無しさん
08/12/01 21:19:00
>>781
そういうことは初心者スレで
784:デフォルトの名無しさん
08/12/07 01:44:06
C++のISO 標準仕様の文書を無料で手に入れたいんだけど、転がってるところ知らない?
JIS のHPにいったらPDFで閲覧できたんだが、こいつはスキャナかなんかで読み込んだのを
PDF化したものらしく、ろくに検索もできないんで、ほとんど使えない。
785:デフォルトの名無しさん
08/12/07 01:56:24
draft + 規格名 + filetype:pdfでググって。
786:デフォルトの名無しさん
08/12/07 02:09:00
>>784
ありゃひどいよな…。
検索できない電子文書とかただのバイト列だわ。
787:デフォルトの名無しさん
08/12/07 02:16:54
無料じゃ手に入らない。金を払え。
788:デフォルトの名無しさん
08/12/07 02:18:44
>>784
なんで ISO の規格が見たくて JIS に取りに行ってんだ?
ISO のやつなら >1 のページにあるドラフトと Issue リスト見ればおおかた情報は揃うし、
検索もできる。
789:デフォルトの名無しさん
08/12/07 04:29:07
だいたいJIS規格のアレをまともに読んでいる奴はこの世にいるのか?
訳した奴でさえ、多分意味分かってないんじゃないのかアレ。
790:デフォルトの名無しさん
08/12/07 06:26:03
何で売っているものを無料で手に入れようと思うんだ?
791:デフォルトの名無しさん
08/12/07 06:28:42
この御時世に規格書を売るってのが変だと思うんだが。
C++0xの規格もやっぱり有料なのかな。
792:デフォルトの名無しさん
08/12/07 08:06:29
>791
公的標準化機関の制定する規格書で無料のものの方が少ないんじゃね?
運営費も必要だし。全額寄付だと公平性に問題がって話になるし、全額税金だと
ある程度は受益者負担でって話が出てくると思う。
と思ったけど結構高いな、おい。
現行 C++ で JIS だと PDF がまだないけど、冊子で \17,325。PDF できても同額になると思われる。
ISO だと CHF 370,00 で 3万弱か?
ANSI だと $30.00 なのに。
一時期 $15 で売ってたはずでその時に買ったから高いという意識があんまりなかった。
793:デフォルトの名無しさん
08/12/07 11:28:46
JISの規格票の値段はページ数に比例します。
恨むならでかい規格作った方を恨んでください。
794:デフォルトの名無しさん
08/12/07 12:38:07
CHFてどこの国の通貨単位か当てっこしようぜ。
おれはチャイニーズフランだと思う。
795:デフォルトの名無しさん
08/12/07 12:58:53
>>794
Confoederatio Helvetia Franc
コンピュータ技術者ならお馴染みのフォント名が実はあの山国のラテン語名だったのね。
796:デフォルトの名無しさん
08/12/07 16:16:41
>>792
ISOってC#とかは無償公開してたよなぁと思って調べてみたら
C++は今のところTR1だけみたいね。
URLリンク(standards.iso.org)
URLリンク(standards.iso.org)(E).zip
雰囲気、C++0xもFreely Available Standardsに入るんじゃなかろうか。
797:デフォルトの名無しさん
08/12/07 16:21:06
すまん。TR1じゃなくてTechnical Report on C++ Performanceだった。
798:デフォルトの名無しさん
08/12/07 19:15:35
>>797
そいつはずっと前から >1 のリンク先でダウンロードできる。
799:デフォルトの名無しさん
08/12/07 22:13:11
C++0x の初期ドラフトは C++03 に近いからそれでいいんじゃね。
800:デフォルトの名無しさん
08/12/07 22:23:32
みんなちゃんと金だして買えよ。俺はISO版とANSI版とJIS版を買ったぞ。
そこまで揃えろとは言わんけど、せめて一つぐらい買ってやれよ。
こんなC++の新規格追いかけてるようなプログラマなんだから、みんないい給料貰ってんだろ?
801:デフォルトの名無しさん
08/12/07 22:45:17
そもそもその金は誰の懐に入るの?
802:デフォルトの名無しさん
08/12/07 23:43:29
>>800
ISOとANSI、二つ必要?
803:802
08/12/07 23:45:19
ちなみに俺はISOの奴、
INCITS+ISO+IEC+14882-2003.pdf
だけ持ってる。古いのもあるが、最新はこれだけ。
804:800
08/12/08 05:43:34
>>801
それぞれの規格をとりまとめてる機関の運営費になってるハズ。
>>802
内容的には同じだから要らない。
ISOのほうが先行して発売してたから買っちゃったけどISO版は一番高いくせに糞。
URLリンク(ml.tietew.jp)
805:デフォルトの名無しさん
08/12/10 06:50:05
g++ 4.4にautoの実装と新しい関数宣言の構文来てるね。
あまり使い方わかってないけど、適当に4.4の新機能を使ってみた。
#include <iostream>
#include <vector>
template <typename T> auto f(T x) -> decltype(x*x)
{
return x*x;
}
int main ()
{
std::vector<int> x{1, 2, 3, 4, 5, 6, 7, 8, 9};
for (auto i = x.begin(); i != x.end(); ++i)
std::cout << f(*i) << std::endl;
return 0;
}
出力
1
4
9
16
25
36
49
64
81
806:デフォルトの名無しさん
08/12/10 07:47:42
やっぱりきもいな。
Dだと、
typeof(T*T) f(T)(T x) { return x*x; }
auto f(T)(T x) { return x*x; }
でいけるから、C++ももうちょっと頑張って欲しかったのに。
807:デフォルトの名無しさん
08/12/10 08:01:47
しばらく*iな理由を考え込んでしまった……
808:デフォルトの名無しさん
08/12/10 19:32:33
>>803
それANSIじゃないの?
ここで買えるやつだよね。
URLリンク(www.techstreet.com)
購入検討中
809:デフォルトの名無しさん
08/12/11 06:39:50
>>807
iがイテレータだからだよな
パッと見だと分からないね
810:デフォルトの名無しさん
08/12/11 08:31:16
んなわけねーべw > 考える、分からない
811:デフォルトの名無しさん
08/12/13 03:55:43
インクリメントされるint型がポインタで渡されてる(´・ω・`)???
って、一瞬なるよ。
812:デフォルトの名無しさん
08/12/13 08:09:01
iじゃなくてitにでもしておけばいいな。
813:デフォルトの名無しさん
08/12/13 08:29:41
>>811
ならねえよ。
concept map InputIterator<int> {
typedef int value type;
typedef int reference;
typedef int* pointer;
typedef int difference type;
int operator* (int x) { return x; }
};
でさえ全然普通。begin(), end(), *iでiterだなって分かる。
814:デフォルトの名無しさん
08/12/13 10:40:45
そんなのできないだろ
コンセプトマップ貼り付けられる組み込み型ってポインタだけでしょ?
815:デフォルトの名無しさん
08/12/13 11:25:20
>>805はイテレータの名前がiになってるから違和感あるんだな
あまりイテレータをiって名付けてるソースはないと思う
itとかiteとかiterとかならよく見るが
>>814
んなこたない。組み込み整数型も関数型もいけるはず。
816:デフォルトの名無しさん
08/12/13 11:36:51
そもそもループ変数がiなのはiteratorから来ているんじゃないの?
817:デフォルトの名無しさん
08/12/13 11:37:56
intだろ……、と思わずマジレス。
818:デフォルトの名無しさん
08/12/13 11:40:12
indexじゃなかったか?
819:デフォルトの名無しさん
08/12/13 11:40:52
intだろうとiteratorだろうとループ変数で使うならiだなぁ
スコープが狭くて使用頻度が高ければ1文字は基本ですよねー
820:デフォルトの名無しさん
08/12/13 12:30:30
オッサンがマジレスしちゃうぞー
821:デフォルトの名無しさん
08/12/13 14:04:54
数学の積分で使うiはindex?
どっちにしてもiとかjとかnという変数を見たら整数だと思うよ
FORTRANerじゃないけど
822:デフォルトの名無しさん
08/12/13 14:13:26
よくわからないけどintegralでは?
823:デフォルトの名無しさん
08/12/13 14:16:34
頻度が高いからこそ二文字変数にしてインクリメンタルサーチで引っ掛けやすくすると言うこともあるが。
824:デフォルトの名無しさん
08/12/13 14:55:42
>>816
iotaからきてるはず。
だからC++0xには
void iota(Iter first, Iter last, T value)
なんて関数が<numeric>に入るんでしょ。
825:デフォルトの名無しさん
08/12/13 15:03:31
C++スレ見てたから、なぜitoaが?
卵から鶏が・・・とか思ってしまったんだぜ
826:デフォルトの名無しさん
08/12/13 20:52:23
え、素直に、FORTRAN の最初の整数値変数のiから来てるんだと思っていたが
算術周りは後付でしょ
827:デフォルトの名無しさん
08/12/13 20:59:50
大本は数学で行列や数列の要素を書くのに下付き文字でa_ijとか書いてたのだろ
1800年代からの習慣だ
828:デフォルトの名無しさん
08/12/13 21:06:31
それはそんなに古くない習慣だと思うが
829:デフォルトの名無しさん
08/12/14 01:56:50
>>814
ConceptG++で動いているコードだよ。
830:デフォルトの名無しさん
08/12/17 01:27:12
ユーザー定義リテラルのサフィックスに使えるのって'_'+小文字で始まるものだけ、で合ってる?
_で始まらないのサフィックスは予約されてるし、identifierには違いないから
'_'+大文字や__でを含むのもダメなんだよね?
831:デフォルトの名無しさん
08/12/17 01:51:40
'_'+小文字の識別子はファイルスコープで予約されているのだが。
832:デフォルトの名無しさん
08/12/17 02:03:03
>>830
literal operatorかliteral operator templateとして定義されている識別子ならOK
URLリンク(www.open-std.org)
833:デフォルトの名無しさん
08/12/17 17:24:49
>>831
嘘はよくないな
834:デフォルトの名無しさん
08/12/24 18:00:24
コンセプトよくわかんないから質問していい?
concept B<typename T> {/*...*/}
concept D1<typename T> : B<T> {}
concept D2<typename T>{ requires B<T>; }
D1とD2って何が違うの?
835:デフォルトの名無しさん
08/12/24 19:18:36
refinementのばやい、concept_mapを定義すると、
refine関係のあるconceptでも、concept_mapが自動生成されます。
836:デフォルトの名無しさん
08/12/24 20:01:36
つまり、D1の場合は
concept_map D1<Foo>{/*...*/}
だけでconcept_map B<Foo>も自動で作られるけど
D2の場合はそうならない
で合ってる?
てことはauto conceptの場合は全く同じでいいのかな
837:デフォルトの名無しさん
08/12/24 21:45:15
そうです。auto(以下りやくのところは節立てして書いてあります。
implict conceptがどうしたこうしたと。
仕様書から読み取るのは結構大変なんで、
六人記名の紹介論文を熟読することをお勧めします。
とはいえ、酔っぱらってて、チャックしないで書いてるから間違ってたらゴメンネ。
上のは14.9.6だとあてずっぽうで書いときますw
838:デフォルトの名無しさん
08/12/25 03:18:02
URLリンク(d.hatena.ne.jp)
"JP-29. 例外クラスのUnicode対応" について。
現状の std::exception::what() に "Remarks" として以下の記述がある。
> The message may be a null-terminated multibyte string (17.5.3.2.4.3),
> suitable for conversion and display as a wstring (21.2, 22.2.1.4).
ちなみにこの記述は C++ 2003 でも今のドラフトでも変わってない。
Unicode とか関係無しに、ここの "may be" を "must be" にして、
"conversion" の具体的な方法を示してもらえばそれでいいような気がする。
たとえば mbstowcs() + std::wstring(wchar_t*) とか。それがあれば、
投げる側はその変換に合うように文字列を std::string に変換してやる
ことができる。
っていうか、そうしないと std::cerr << e.what() のようなごく自然なコードが
不正となってしまう。
839:デフォルトの名無しさん
08/12/25 08:55:41
今の記述で十分。
m17nしたければgettext()使えばいい。
840:デフォルトの名無しさん
08/12/25 11:34:01
>>839
たとえばファイルが開けなかったときの例外を表示するときには開こうとしたファイル名が
表示されてほしいんだけど、投げる側で what() にファイル名が入るようにしてたら
gettext() に支障が出るんじゃない?
841:デフォルトの名無しさん
08/12/25 20:28:14
>>838
この人らは何者なの?
最終ドラフトにこんなに要望したって通るわけないだろ
これ以上禿に日本の悪い印象与えるのやめて
842:デフォルトの名無しさん
08/12/25 21:31:50
誤字の訂正とか真面目な部分もあるけど、
std::string、char*をUTF-8前提にしろとか言った奴は頭悪すぎ。
>>840
そういうことをwhat()に押し付けないで。
843:デフォルトの名無しさん
08/12/25 21:51:16
>>841
機械振興会館でやってるから、情報規格調査会のWGに集まった人たち、って
ところだね。なんか変な香具師が混じったんだろ。
844:デフォルトの名無しさん
08/12/25 23:07:00
what 内で表示すればいいんじゃね。
845:デフォルトの名無しさん
08/12/25 23:51:41
>>841
C++0xに関する作業はもうISO/IEC JTC1のWGへ移ってる。
ここでは上がってきたドラフトに対して各国の代表 (national bodies) が
コメントを出し、それを受けて手直しして、最終版 (FCD) を作り上げる。
そしてそれを national bodies による投票に掛けて、通ればISO/IECの規格として成立する。
日本は情報処理学会というところがnational bodyとして出席していて、
>>838はそこの関係者。
846:デフォルトの名無しさん
08/12/26 00:02:35
そうか、正式な日本代表なのか
あんなのが日本代表の正式な意見書になるのか…
847:デフォルトの名無しさん
08/12/26 00:34:41
ここの5.4.7に名簿が
URLリンク(www.itscj.ipsj.or.jp)
848:デフォルトの名無しさん
08/12/26 00:37:52
最終版はちゃんとまとめられると思うよ。
国際規格に対するJISの貢献は結構大きいよ。
本家WGに参加する日本人はまだ少ないけれど。
849:デフォルトの名無しさん
08/12/26 00:39:22
>>842
「そういうこと」って何?
捜査対象ファイル名の表示を what() でやらないとして、ほかにどうするの?
850:デフォルトの名無しさん
08/12/26 00:45:44
C系の言語規格の立場としては、
そういうのはローカルプラットフォームの規約や
コーディング規約でやってねってことになっているんじゃない?
少なくともMBSについては。
// WCSだとwstringパスに対するfstream APIが増えたけれど。
851:デフォルトの名無しさん
08/12/26 00:56:44
>>850
完全にアプリ側だけで使うものならそれでもいいんだろうけど、
std::exception は標準の例外として bad_alloc やら ios::failure やら
stdexcept のやつらを同じ方法で扱うためのインターフェースとなるべきだろう。
そうでなければ、毎回 bad_alloc, ios::failure, ... の catch を分けて書け、とでも言うの?
852:デフォルトの名無しさん
08/12/26 01:05:51
>>842
無理だろjkって空気だったよ、あの場でもさすがに。結局、コメントには残ったみたいだけど。
853:デフォルトの名無しさん
08/12/26 01:17:17
wchar_t と Unicode がごっちゃになってる Windows オンリーな人なんだろうなと思う。
854:デフォルトの名無しさん
08/12/26 01:45:01
>>851
std::stringにマルチバイドキャラクターストリング入れて悪いわけじゃないから、
やりたい奴は勝手にやればいい。ただそれだけ。
855:デフォルトの名無しさん
08/12/26 01:56:50
>>854
だからさ、それじゃ「std::exception の what() を表示する」っていうコードが書けないじゃん。
今のドラフトじゃ
throw std::runtime_error("実行時エラー");
throw std::runtime_error(u8"実行時エラー");
の両方が黙ってコンパイルできてしまうし >838 にある "may be ..." にどちらも
違反しない。複数のライブラリを使ってたりすれば同じプログラム内で両方使われてる
可能性だって出てくる。 catch (std::exception const&) {...} 中でどうすりゃいいんだよ、
って話。
856:デフォルトの名無しさん
08/12/26 02:01:02
>>855
標準の枠内で書きたければそうすればいいし、
枠からはみ出る必要があればそうすればいい。
> だからさ、それじゃ「std::exception の what() を表示する」っていうコードが書けないじゃん。
問題ない。表示されるかどうかは、
取り出してからどう扱うかと環境によるってだけ。
857:デフォルトの名無しさん
08/12/26 02:07:43
>>856
> 標準の枠内で書きたければそうすればいいし、
「標準の枠内で書く」ということがどういうことか定まらないのが問題なんだろ。
> 問題ない。表示されるかどうかは、
> 取り出してからどう扱うかと環境によるってだけ。
「○○だと困る」って話をしてるのに「問題ない。○○ってだけ」とか、もうね。
858:デフォルトの名無しさん
08/12/26 02:10:43
定まってる。
charには何を入れてもいい。
859:デフォルトの名無しさん
08/12/26 02:17:20
>>858
「何を入れてもいい char の列を表示するコード」、ってバイナリダンプとか?
860:デフォルトの名無しさん
08/12/26 02:20:07
>>838
localeとfacetで出来るよ。
861:デフォルトの名無しさん
08/12/26 06:31:00
>>842
「真面目な部分」として「誤字の訂正」をあげるようなヤツに「頭悪すぎ」とか言われたくないなw
862:デフォルトの名無しさん
08/12/26 07:31:16
変なのが沸いてるな・・・
863:デフォルトの名無しさん
08/12/26 08:49:40
what()のメッセージに付記入れるなら__func__にも付記欲しいな
人が読めるようにとかオーバーロードやテンプレート実体化ごとに区別付くようにとか
縛りがないとどうせマングリング名になるだろ
864:デフォルトの名無しさん
08/12/26 17:09:44
和製の処理系とか見たこと無いんだけど。
JISにおけるC++規格って誰が使うの?
865:デフォルトの名無しさん
08/12/26 17:17:38
富士通が処理系出してたよ。
templateも結構まともだった。
866:デフォルトの名無しさん
08/12/26 17:33:23
日立もつくってますね。
boostもサポートされているようです。
867:デフォルトの名無しさん
08/12/26 17:45:13
ほぇ~、意外。
ぶっちゃけGCCからフロントエンドパクればいいだけじゃんとは思うんだけど。
なんか自作する理由があんだね。
868:デフォルトの名無しさん
08/12/26 17:55:49
大型やっているところなんでも揃えとかないといけないから。
あれがないって事になると顧客を失う。
869:デフォルトの名無しさん
08/12/27 00:40:53
スレリンク(tech板)
こっちで話題になってるんですが"default constructed"って何なんでしょう
詳しい人いませんか
870:デフォルトの名無しさん
08/12/27 00:46:57
default constructorによるconstructのことだろ。
871:デフォルトの名無しさん
08/12/27 01:01:42
クラスはそれでいいんですけど
"default constructed"された非クラス型が
value initializedされるのかdefault initializedされるのかが問題なんです
872:デフォルトの名無しさん
08/12/27 01:58:58
POD 型の場合、0 初期化されるの? されないの? って問題だな。
873:デフォルトの名無しさん
08/12/27 02:51:38
これってさぁ、基底クラスにObjectは採用してくれるの?
874:デフォルトの名無しさん
08/12/27 02:52:54
JavaのObjectクラスみたいな全クラスの暗黙の基底クラス?
するわけがない
875:デフォルトの名無しさん
08/12/27 08:59:56
>>864
あ、NECもSXシリーズのためにコンパイラ作ってましたね。
スパコンのベンダはだいたいC++のコンパイラを作っている、と。
876:デフォルトの名無しさん
08/12/27 10:16:00
>>873
void*でエエがな。リフレクションならtype_infoを継承してリフレクション情報
を混ぜたクラスをtypeidで返すように各ベンダがすればいいだけだし。
関数テーブルが標準で乗るような設計はC++の理念に反する。
877:デフォルトの名無しさん
08/12/27 14:53:09
>875
SXC++はtemplateが哀しいほど使えないぞ
complex<>も遅くて話にならないし
878:デフォルトの名無しさん
08/12/27 15:12:12
Objectが基底クラスじゃないからライブラリや設計が面倒くさいのに・・・
templateで無理やりぶん回すこともなくなるのに
879:デフォルトの名無しさん
08/12/27 15:26:31
>>878
あんまりプログラミング言語のこと知らないんだね。
880:デフォルトの名無しさん
08/12/27 15:43:41
>>878
キミObject型を何につかってんの?
現C++はSmalltalkやObjective-Cの様にObjectクラスが
存在しないとオブジェクト生成すらままならないという訳じゃないんだけど。
881:デフォルトの名無しさん
08/12/27 15:49:43
むしろC++はノイマン型アーキテクチャを直接叩ける言語にしては、
異常なくらいプリミティブ型へのサポートも厚い言語。
登場した時は恐れ入りました感があった。
今流行りの言語ではプリミティブ型コンテナの
ボクシング/アンボクシングが盛んだけど、
そのきっかけの一つになったと思っている。
C++は今のやり方を貫いて欲しい。
>>880
Objective-Cは、プリミティブ型のことは知りません、
Cで取り扱ってくださいって態度。
882:デフォルトの名無しさん
08/12/27 15:49:46
Smalltalk ならともかく、他の言語で単一継承モデルを採用している理由はなんなのかな
多重継承時のトラブル対策のみ?
883:デフォルトの名無しさん
08/12/27 15:59:16
interface/protocol があると多重継承はあんまり要らない気がする
884:デフォルトの名無しさん
08/12/27 16:01:19
>>881
SymbianやAndroidなど組み込み機器用のOOPとして現役だしね。
>>878みたいなことしても、客が逃げていくだけで何のメリットもない。
>>882
実装継承以外がinterface, trait, conceptになっただけで、
今は事実上多重継承ばかりかと。
885:デフォルトの名無しさん
08/12/27 16:10:08
てか、Objective-Cとか知ってる人間からすると、
実装無しで継承って(笑)と思ってしまう。
interfaceなんかはあくまで、型システムによって機能しなくなった
メッセージングを補完する為だけの苦肉の策で、本来の継承とはかけ離れたよに思う。
886:デフォルトの名無しさん
08/12/27 16:15:54
>>884
Mixinは実装多重継承との関わりがあると言っていいんじゃないの?
887:デフォルトの名無しさん
08/12/27 16:16:12
>>872
されない
struct foo {
char bar[1000000]
}
が自動的に初期化されたらいやだろう
デフォルトコンストラクトは文字通り「何もしない」ので不定値が入る
888:デフォルトの名無しさん
08/12/27 17:05:41
Objective-Cとか知ってる人間(笑)
889:デフォルトの名無しさん
08/12/27 17:09:20
>>882
多重継承は仮想関数テーブルが複雑になって実装が面倒だからじゃね?
890:デフォルトの名無しさん
08/12/27 17:14:00
>>888
そうか?見識が広がっていいと思うぞ。
C++とは真逆の言語だからね。
891:デフォルトの名無しさん
08/12/27 17:38:32
>>889
invokeinterfaceやmixinでも同じだよ。
892:デフォルトの名無しさん
08/12/27 18:00:09
>>891
問題は仮想継承辺りの扱いかもね。
893:デフォルトの名無しさん
08/12/27 18:04:36
いい加減exportの扱いどうにかならんか?
0xなるんだから委員会も、もう少し強制するなりしろや。
コンパイル速度が遅くてかなわんぞ。
894:デフォルトの名無しさん
08/12/27 18:10:27
exportは実装に見合うだけの利益はないよ。
コンパイル時間が一割ぐらい早くなるかもしれんが、exportによって、
今までできなかったことができるようになるとか、そういうことは一切ないから。
895:875
08/12/27 18:35:24
>>877
実際に使ったことはないのですがw
情報ありがとうございます。
まあ、日立、富士通、NECといったスパコンベンダは
C++コンパイラを作っているのは事実、ということで。
896:デフォルトの名無しさん
08/12/27 18:58:54
>>887
引用スレに書かれている通り、foo() の書き方だと0初期化だよ。その互換性の話をしているんだと思う。
897:デフォルトの名無しさん
08/12/27 19:26:09
>>894
そんなにみみっちいかなぁ。
GCCのpragmaでやってるような、翻訳単位ごとにテンプレートのインスタンスが
発生するという事態は改善できるだろ。それから、ヘッダーの見通しもよくなるし、
STLの内部実相の為にベンダーが用意した__imp__comperなんて関数も取り込まなくて
済むようになる。(ファイルスコープが効く)
まぁ、実装が一つしか無いから机上の空論ではあるけどね。
898:デフォルトの名無しさん
08/12/28 19:34:04
class Parent
{
public:
int Method(int);
};
class Child:Parent
{
public:
using Parent::Method;
};
って感じのprivate継承とか
static using
{
struct
{
int a,b;
};
char c:
};
みたいな無名共同体。
int (Class::*member)=0;
の様なメンバー変数に対するポインタ(メンバー関数では無い)
なんて、使ってる人いる?むしろ使ったことある人いるか?
899:デフォルトの名無しさん
08/12/28 19:38:46
private継承は使うだろ普通に
無名共用体はC++ではあんまり使わないかもしれないけどCではよく使う
900:デフォルトの名無しさん
08/12/28 19:40:03
上に関しては、そんな書き方初めて見た。
それprivate扱いなの? 書き忘れ?
901:デフォルトの名無しさん
08/12/28 19:50:43
>>900
C++のclassはアクセス指定を省けば
基本private。structはその真逆。
902:デフォルトの名無しさん
08/12/28 19:58:21
なるほど、そのルールは継承にも適用されてたのね。。
903:デフォルトの名無しさん
08/12/28 20:22:20
メンバー変数に対するポインタは、
自作インタープリタ上のオブジェクトを
C++のクラスに結び付けるテンプレートを書いた時に使ったことがある。
904:デフォルトの名無しさん
08/12/28 23:43:57
メンバ変数に対するポインタは
リストの prev/next のどちらにも適用できる処理を書く際に使えたりする。
905:デフォルトの名無しさん
09/01/01 02:18:43
いよいよ09年なわけだが
906:デフォルトの名無しさん
09/01/01 03:41:14
今年中に纏まるとは思えないのだが。
907:デフォルトの名無しさん
09/01/01 03:59:11
日本限定なら09年度という便利な言葉が使えるんだが。
908:デフォルトの名無しさん
09/01/01 04:04:08
それでも猶予は4ヶ月しか増えないのだが
909:デフォルトの名無しさん
09/01/01 06:57:41
いや、そもそも0x年まであと27年もあるわけだが
910:デフォルトの名無しさん
09/01/01 07:08:47
C++0xa
911:デフォルトの名無しさん
09/01/01 09:10:41
(++0x)
だからあと2年猶予があるぞ
912:デフォルトの名無しさん
09/01/01 09:13:14
どうせ急いで制定してもC++プログラマの大多数は飛びつかないな・・・
913:デフォルトの名無しさん
09/01/01 10:13:30
とりあえずautoだけでも早く使えるように頼む
914:デフォルトの名無しさん
09/01/01 16:07:46
いやいやunique_ptrを
915:デフォルトの名無しさん
09/01/01 16:14:38
スレッドの概念が入るだけでありがたい
916: 【豚】 【282円】
09/01/01 23:19:47
variadic templatesが使えるようになるのはいつですか
917:デフォルトの名無しさん
09/01/01 23:25:07
2011
918:デフォルトの名無しさん
09/01/02 07:47:47
>916
gcc 4.3 以降を入れれば今すぐにでも。
919:デフォルトの名無しさん
09/01/04 03:38:53
const int n1 = 10;
と
constexpr int n2 = 10;
って何が違うの
920:デフォルトの名無しさん
09/01/04 03:42:53
右辺が整数定数なら差はないんじゃね
921:デフォルトの名無しさん
09/01/04 13:49:48
constexpr って導入する意味あるの?
922:デフォルトの名無しさん
09/01/04 13:58:07
constexprな関数の導入に意味がある。
923:デフォルトの名無しさん
09/01/04 14:25:05
constexpr constructor凄く便利。
ダラダラと逐次的な初期化コードや
それを含む初期関数を書く必要がなく、
データを宣言的に書ける。
924:デフォルトの名無しさん
09/01/04 21:38:33
>>923
kwsk... constexpr って(有る程度複雑な)計算結果が定数として扱えるように
なるとしかわかってないんですが、それがデータが宣言的にかけるとは
どういうことでしょう?
925:923
09/01/04 23:00:49
日本語訳もあるからググれ