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


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

C++11/C++0x 15



1 名前:デフォルトの名無しさん mailto:sage [2011/11/16(水) 23:27:34.48 ]
The C++ Standards Committee
www.open-std.org/jtc1/sc22/wg21/

Wikipedia
ja.wikipedia.org/wiki/C%2B%2B11

前スレ: C++11/C++0x 14
hibari.2ch.net/test/read.cgi/tech/1316760961/


660 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:05:36.53 ]
>>657
未定義動作のコード書いて運がよければ行けるよ

661 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:08:05.66 ]
>>660
それってコンピューターが悲鳴上げてるだけじゃないですか
私 が 異 次 元 に 行 き た い ん で す !!

662 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:08:40.62 ]
>>661
お前も行けるって
頑張れ

663 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:13:02.76 ]
>>662
だからどうやって行くんですか!
以前だってlsコマンドの代わりにslと打ち間違えた時にせっかくお迎えが来たっていうのに
あろうことか私を置いて行ってしまったんですよ!
もういい加減お手上げしたい気分ですね!!

664 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:22:43.76 ]
教室で涼宮ハルヒの憂鬱(初版、流行る前からもってた)を読んでたら
「なぁ、それハルヒじゃね?」と後ろの席のやつにいわれた。
ちょっと怖い煙草とかすってるやつだったから
「うん、ハルヒ。それの一巻」って説明したら
「○○って長門に似てるよな」とクラスの女子のことを指さした。
大人しくていつも読書している小柄で可愛いこだった。
たしかにそっくりだったし、長門にも彼女にも好意を抱いていたので最高の笑顔で「うん」と賛同したところ
おもむろに携帯で○○さんのハメ撮りを見せてくれました。

誰かハルヒのいる世界に連れて行ってください

665 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:26:41.34 ]
まずはその話、本当かどうか確認する所からだ

666 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:33:02.36 ]
生身の女はかならず男を作るから期待はしないことだ。マンガやアニメじゃないんだよ。

667 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:37:10.93 ]
いきなりスレの流れが物故割れた

668 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:58:32.12 ]
>>666
その認識も行き過ぎだと思うぞ



669 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 02:10:19.53 ]
いい年して男と付き合ったことも無い可愛い女の子なんて実在しないだろ実際のところ
見た事無いぞ

670 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 02:20:50.04 ]
実在すればそれはそれで気味が悪い

671 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 02:39:00.31 ]
そりゃ死ぬまで純潔を守っても仕方ないよw
教室での話だったら学生時代だろ
そのくらいの時期ならチャンスもあろうに

672 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 06:01:30.78 ]
VIPでやれ

673 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 06:03:03.54 ]
ここはMIPスレですが何か?

674 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 06:13:13.01 ]
マングリ返しで何かがでまんぐりんぐwwwwwwwっwwwうぇw

675 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 20:15:38.15 ]
>>646
それがどうした?

676 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 20:36:54.97 ]

}

677 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 20:46:01.55 ]
それは、希望さ。

678 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 20:51:21.76 ]
const Class< Base(int), Base(std::string) >
         &constructor = ClassType< Delived(int), Delived(std::string) >();

std::shared_ptr<Base>
         base1( constructor.New( 10 ) ),
         base2( constructor.New( "10" ) );

可変長テンプレートがあれば、こんなのがマクロ使わずとも
簡単に作れるんだろ、はよう実装してほしいわ。
なんであんなに対応が遅いんだ?



679 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 20:52:15.16 ]
同時に絶望でもある


680 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 20:54:15.22 ]

/*

681 名前:デフォルトの名無しさん [2012/03/09(金) 21:14:47.98 ]
*/

682 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 21:23:49.45 ]
begin

683 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 21:25:00.50 ]
end

684 名前:デフォルトの名無しさん [2012/03/09(金) 21:29:54.03 ]
imort java.io.Fire

685 名前:デフォルトの名無しさん [2012/03/09(金) 21:53:15.51 ]
imort hosii...

686 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 21:56:14.68 ]
using ga::aru::jan;

687 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 21:57:35.16 ]
int main = 0;

688 名前:デフォルトの名無しさん [2012/03/09(金) 22:08:01.23 ]
関数型言語 C++



689 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 23:46:48.00 ]
インポートなんてインポテンツなもんはいらない
妹が欲しいって言ってるだけだっての!!
と、ミサカはミサカは>>685の気持ちを代弁してみたり

690 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 23:48:13.61 ]
main :: IO()
main = return()


691 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 00:15:27.58 ]
>>689
いらんつうかもっと高機能なusingが既にあるだろ。

692 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 00:18:41.91 ]
むしろ俺の妹をもらってくれ、いらん

693 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 00:20:29.27 ]
692の妹「な、なりたくてあんたの妹になってやったわけじゃないんだからねっ」

694 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 00:42:24.10 ]
C++を理解する能力よりも妹がいる能力が欲しい

695 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 02:17:13.05 ]
C++なんかどうでもいい。
俺は君が欲しいんだ!

696 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 02:25:59.97 ]
冷静になれよ
オマエと同じ顔の女が増えるんだぜ?
堪えられるのか?

697 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 02:32:26.13 ]
最近はテンプレートより、ソース吐き出すスクリプトでいいんじゃないかという気になってきた

698 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 03:51:52.89 ]
配列をゴチャゴチャ記述するのが面倒なんで
スクリプトどころか表計算のTSV出力をincludeしてるわ



699 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 06:54:07.64 ]
初期化に必要な情報で値も固定されてるならそれでもいいんじゃない

700 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 07:02:44.37 ]
>>698
細かいけどCSV(Cはカンマ)な。TSVのTはタブだからincludeしてもエラーになるだけだ

701 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 09:53:56.22 ]
そうやって読み込んだCSVのデータを、テンプレートでソートする…流石に内容が分かっていてもソートは無理か

702 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 17:46:43.97 ]
>>697
それだとデバッガがな。

703 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 20:48:25.05 ]
>>697
C++ with ScriptかCへのTranslatorだった時代を思い出すな

704 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 20:51:29.22 ]
>>703
CFRONTだっけ?SS1+だと重くて悲しかったがかなり世話になった


705 名前:デフォルトの名無しさん [2012/03/12(月) 21:52:24.62 ]
cfront には超がつくほど世話になった

706 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 08:19:19.49 ]
なんかノネナールの臭いがするよここ

707 名前:デフォルトの名無しさん mailto:sage [2012/03/13(火) 11:37:59.68 ]
違います!熟成したカレーの臭いです!

708 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 17:40:57.92 ]
ふむ。

>C++11の次はC++17となりそう
ttp://d.hatena.ne.jp/faith_and_brave/20120307/1331103474



709 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 17:57:02.55 ]
確か0xは最初C++08になる予定だったから
次はC++20ですね

710 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 20:47:25.49 ]
C++2038

711 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 23:11:11.02 ]
>>708
5年間でC++11をマスターしないといけないの(´;ω;`)

712 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 23:37:05.56 ]
ある言語でプログラムをするのにその言語の全ての機能を理解しマスターする必要はないだろ

713 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 23:39:24.62 ]
全単語覚えたら、英語話せます?

714 名前:デフォルトの名無しさん mailto:sage [2012/03/14(水) 23:50:09.44 ]
>>708
03みたいなヤツか。C++11の処理系が完全になるのは2021年ぐらいか?

715 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 00:27:20.56 ]
>>714
そしたら、C++17が遅れて、さらに処理系が完全になるのは何年か考えると、
もうC++はこれ以上覚える必要が無さそうだ(´・ω・`)

716 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 00:31:11.39 ]
ライブラリへの変更と言語仕様への変更は、
確かに分けて作業した方がいいと思う。

717 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 22:12:43.25 ]
C++xxにすればいいのに
学習しないね

718 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 22:20:12.18 ]
(:xx:)



719 名前:デフォルトの名無しさん [2012/03/15(木) 23:37:54.75 ]
マイナーは仕方ないが
メジャーではばっさり切り捨てもやれ

メタボ、しかも発癌してるのは切除しろ

特に例外。禿さまご乱心を黒歴史に早くしろ。
noexcept は廃止。二重否定はダメ。
throw でちゃんと作り直せ。
あくまでメジャーを標榜するのなら。
地味ながら普通の new もな。

特殊化のクソもいつまでgdgdやってやがる、
そういうところこそ禿、がんばれよ。

720 名前:デフォルトの名無しさん mailto:sage [2012/03/15(木) 23:51:50.88 ]
こんだけ年寄りなら癌でも進行が遅くて簡単には死なんだろうよ

721 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 04:30:41.90 ]
msdn.microsoft.com/en-us/library/hh567368%28v=vs.110%29.aspx
何がどうpartialなのかちゃんと書けよオウ

722 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 08:07:46.82 ]
二重否定がダメっていうのは、
英語(他の言語はしらない)の文法学者がただ気に入らなかったから、というだけなんだぜ。

ダメっていう雰囲気が蔓延する前は普通に使われていたんだから
noexcept を嫌う理由にはならない。

まあ throw(false), throw(true) ではなぜダメだったのかわからないけどさ

723 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 19:29:04.47 ]
throw(Foo)のときにFooが型か値かで意味が変わっちゃうからだろ多分
どうでもいいのに

724 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 19:32:27.96 ]
って書いてて今わかったこれだ
throw(Foo())

Fooが型の場合、引数なしでFooを返す関数の型を例外指定してるのか
デフォルトコンストラクトしたFooの右辺値をboolとして評価するのか区別が付かないから

725 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 19:52:41.76 ]
あー constexpr と競合するってことね

726 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 22:22:08.40 ]
まあtrue/falseでするとなるとthrowとは別のキーワードが欲しいわな
throwは型を取るものだから、使い回したくはない
かといってexpectとか普通に何かで使われる事あるだろうし
nothrowもstd::nothrowと被るしで
まず使われてないだろうというnoexceptになったのかねえ

throw<true/false> というのもキモいよなあ・・・

727 名前:デフォルトの名無しさん mailto:sage [2012/03/16(金) 22:32:36.38 ]
#includeはいつ廃止されますか

728 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 00:16:32.52 ]
>>726
そういう時こそ[[ ]]を




729 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 04:46:54.98 ]
>>727
廃止は当分無理だろうけど、
次回の規格改定には、かなりの確率でモジュールが入る。

730 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 08:53:32.99 ]
またexportと同じ道を辿ることは無いのか

731 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 11:35:32.29 ]
#includeなくなったらコンパイル時間短くなる?

732 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 11:46:18.27 ]
理論的にはD言語くらいには速くなる

733 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 11:56:34.88 ]
ないない
そんな簡単ならプリコンパイルドヘッダでもそれなりに速いはず
Dをなめてはいけない

734 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 11:58:41.83 ]
C++っぽいけどC++じゃない言語を作ったらどうなの
C++からのトランスレータが作りやすい仕様にして

735 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 12:10:29.01 ]
C++からのトランスレータって、結局フルのC++コンパイラを作るのと労力変わんないんだが
おまけに大抵のヘッダではマクロも込みでAPIだから、完全に活用するにはターゲット言語が細かい文法含めてC++完全上位互換である必要がある=C++の新バージョンと変わらない
要するにC++は局所解にはまりこんでる


736 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 12:16:19.58 ]
ついでに完全性を求めないなら、わざわざ新言語を作らなくても既存言語へのトランスレータは結構あるぜ

737 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 12:24:21.18 ]
>>734
C++の機能を保ったまま文法を変更するって論文がどこかに転がってたと思うが、
まあ、やはりどうもC++の文法に慣れた身には見慣れない文法になってたな。

>>735
今のC++の思想は、既存の汚い方法(プリプロセッサー)は互換性のために残しつつも、
より優れた方法(constexpr)を導入して、
自発的な移行を促すってのだが。

うまくいくかねぇ。
なんだかんだいっても、字句単位での置換は強力だからなぁ。

738 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 12:34:08.33 ]
>>737
思想とか関係ないよ
C++のヘッダからプリブロセッサがなくなっても、Cのヘッダを全くincludeしないとか無理でしょ



739 名前:デフォルトの名無しさん [2012/03/17(土) 16:02:19.09 ]
C++を見限りたい気持ちでいっぱいだが次の言語が見つからない

740 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 16:15:40.11 ]
ようこそD言語へ

741 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 16:16:55.23 ]
やはりマクロが癌だよなあ

742 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 16:24:08.49 ]
D言語は10年くらい仕様を固定できたら選択肢に入ってくる

743 名前:デフォルトの名無しさん [2012/03/17(土) 16:26:41.04 ]
マクロが癌は言いすぎ。右辺値参照とか、constexprとかの方が
「もういいかげんにせえや!この禿のパリサイ人共が」という気になるw

744 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 16:32:45.60 ]
右辺値参照とかさっぱり理解できんけど
ただでさえ速いSTLが何もしなくてももっと速くなるなら有難い

745 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 16:48:44.63 ]
インテリセンスの性能が悪いのも
リファクタリングし辛いのも
全部マクロのせいや!

746 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 17:06:11.95 ]
トランスレータはデバッガ作るのが辛すぎる。

747 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 17:09:11.20 ]
D言語作ってる人って、失敗作ばっか作ってる人でしょ

748 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 17:14:43.22 ]
トランスレータはあくまで過去資源を利用するためのもので



749 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 17:24:03.08 ]
rvalue referenceは当然の機能だろ。
というか今までの、constなlvalue referenceでprvalueを束縛できることのほうが変だっただろ。
まあ、この挙動は今更変えようがないがな。

まあ、別に理解できんユーザーが理解する必要はない。
コピーやムーブの実装はライブラリ作者が考えることだ。
>>744のいうように、STLがなにもしなくても速くなる。
C++11では、STLのクラスを普通に関数の戻り値として返しても、
何のパフォーマンス上の問題もない。

std::vector<int> f() ;

int main()
{
  std::vector<int> v = f() ; // ムーブされる。ユーザーが詳細を理解する必要はない
}

750 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 17:30:13.28 ]
何のパフォーマンス上の問題もない、は言いすぎだな。
ムーブ後の一時オブジェクトのデストラクタだって走るし、
ムーブコンストラクタだってただでさえ肥大化傾向の実行ファイルのコードサイズを更に膨らませる。

GCのある言語や v = f() ; を f(&v); として最適化できるタイプの言語ならこういうのは全撤去できるかんね。

751 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 17:48:13.43 ]
かなり斜めだな。

752 名前:デフォルトの名無しさん [2012/03/17(土) 17:59:28.29 ]
>>749

うん、そうだ。

ま、せいぜい頑張ってくれ。



俺はつき合う気になれんがw

753 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 19:25:08.08 ]
入れ物を引数で渡したり戻り値をauto_ptr<std::vector<int>>とかに
する必要がなくなっただけで十分ありがたいです

754 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 19:26:16.53 ]
NVROも実装してなかったコンパイラがC++11をサポートできるのか

755 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 19:43:06.65 ]
D言語はGCが余計だったんじゃないかと思ってる

756 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 20:27:22.86 ]
>>750
つってもムーブ後のオブジェクトなんだから、
一切最適化されなかったとしても、関数呼び出しとか、
すでにムーブされた後であるかどうかを判定する条件分岐の実行とかそれぐらいだろ。

std::vectorだったら、確保した動的ストレージへのアドレスを格納している
ポインター型のメンバーが、nullptrであるかどうかの条件分岐ぐらいだろ。

コードの肥大化っていったって、
ムーブコンストラクターを書くのと、
ムーブ処理をその場にハードコードで実装するのは、
結局同じじゃないか。

757 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 20:35:42.42 ]
>>756
発想がC++に縛られてるなあ。
例えばf()がv領域をallocaしてそのままvとして使うなら、そもそもムーブという概念自体要らない。
そういう言語もあるんだよ。

758 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 22:21:34.90 ]
moveとか右辺値最適化とかの新機能についていけてないのだけど、
なんとなく>>750のように変換されるのかと思ってた。違うの?



759 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 22:56:00.14 ]
違うよ

760 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 22:57:42.75 ]
「最適化でコピーは消えてくれるよね……?」と心配しながら
ベクトルを返さなくてはいけなかったのが
「どうせムーブだし最適化されなくてもいいや^^」と安心して
ベクトルを返せるようになったってのはいいことだよ。

761 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 23:15:30.59 ]
ムーブも一応ムーブのコストがあるからなあ
戻り値最適化が期待出来る部分ではムーブは劣る

762 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 23:27:54.38 ]
コピーが最適化されて消えるところではムーブも消えるよ。

コピーなら消せる、ということがわかっている箇所で、
ムーブコンストラクタが定義されているときだけ最適化抑制するって
どんなアホコンパイラたよ

763 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 23:41:23.56 ]
>>758
ユーザー定義する方針なんで、
変換してくれるってのは根本的に発想が違います。

764 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 23:43:12.27 ]
>>754
出来れば嬉しい最適化と
必須の仕様の違いがありますから。

765 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 00:12:38.75 ]
>>762
そういう意味じゃなくてだな・・・
戻り値最適化使った方がいいケースで
ムーブがあるからムーブでいいやとするケースの話で

766 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 00:15:44.12 ]
どういうケースかよくわかんないからC++でお願いします

767 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 00:49:15.82 ]
ものすごく適当な例

std::vector<int> a = hoge();
foo(a);
a = foobar();
bar(a);

768 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 01:03:33.14 ]
vectorって代入される時にもともと持ってるデータを解放してるよな
ムーブでいらなくなったデータが一時変数のデストラクト時に解放されるのと比べて
本当に戻り値最適化のほうが性能的に有利になるのか?

ていうか、そもそも戻り値最適化って初期化する時だけしか有効にならないような



769 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 01:06:05.10 ]
考えるほどムーブのほうが都合がいいという結論になる

770 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 01:08:36.76 ]
2つ目のは戻り値最適化じゃなくムーブになる、という例だよ
swapの分だけコストはかかるはず

まあこの例だとこの程度どうでもいいんだけどね

771 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 01:46:57.56 ]
>>735
現時点でアセンブリに変換できてるんだから、
完全上位である必要ないだろ

772 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 13:51:34.67 ]
auto_ptrが理解出来てmoveが理解出来ない人は頭おかしい

773 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:09:37.16 ]
auto_ptrはもはや理解する価値がない。

774 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:17:45.12 ]
>>767
a = foobar();はC++03ではコピーになるからmoveより高コストになるな
それにa = hoge();でも
std::vector<int> hoge(){
  std::vector<int> r;
  ...
  return r;
}
のように書いた時点で戻り値最適化は効かないから
関数の実装にかなり制限が掛かると思うが

775 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:27:36.50 ]
いや、効くだろ

776 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:27:56.48 ]
>>774
NRVO搭載してるCompiler。具体的には、cl.exeなら最適化されるべ。

777 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:30:05.59 ]
>>773
auto_ptrはunique_ptr+moveに置き換わるんだから当たり前だろw
C++11からC++に入る奴の話じゃねぇよ

778 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:33:35.35 ]
流れぶった切るけど、noexcept()って、template<bool mode>てなテンプレート宣言したクラスで
noexcept( mode )って事ができるの?できないなら、throw()で十ぶんじゃね?なんの意味があんの?



779 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:35:17.43 ]
できるだろ。

780 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:35:45.15 ]
>>778
できるんじゃない? そういう用途だろう、当然

781 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:41:56.52 ]
boost::shared_ptr、std::auto_ptr、std::shared_ptr、
相互変換はどうすんだろうな。過去の資産を再利用するなら
古いポインター使いつづけるしか無いんだろうな。

782 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:45:18.13 ]
まあそうなるな

783 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:47:40.64 ]
はぁ?

784 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:52:32.20 ]
相互変換とか

785 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 14:56:36.23 ]
参照カウンタどうすんだよ

786 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 20:19:38.37 ]
boostとstdのshared_ptrに互換性がないのが困る

787 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 20:21:12.07 ]
別にboost::shared_ptr使い続けりゃいい
あるいはstd::shared_ptrに置換するか

788 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 20:53:38.67 ]
C++11になって、事実上の廃止ってauto_ptrの他にどんなのがあるの?



789 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 21:06:51.34 ]
unary_function類とbind1st類

790 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 23:10:38.39 ]
あんまりお近づきになりたくない機能だと思っていたのでなによりです

791 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 04:34:17.38 ]
bind廃止なのか…

792 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 04:43:21.59 ]
bindが追加されたからいらなくなったんでしょ

793 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 07:23:11.87 ]
boostのやつが導入されたんだっけ
別にラムダでいい気もするけど

794 名前:デフォルトの名無しさん [2012/03/20(火) 17:48:44.11 ]
テンプレ引数付きtypedefってクラス内のtypedefでも使えたりするんけ?
いままでクラス内クラスについてはテンプレに出来なかったよな

795 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 18:13:04.34 ]
あーもうこんな複雑な言語、個人で使うならともかく、それなりのプロジェクトで使うとなると・・・。
これ、もう、オタクの玩具でしょ。

796 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 18:20:28.61 ]
エイリアステンプレートはクラス内でも使える。
ただ、本当にメンバーテンプレートなエイリアステンプレートを使いたいのか?
苦労するだけだぞ。

struct X
{ template < typename T > using A = T ; } ;

template < typename T >
void f()
{
  typename T:: template A<int> i ;
}

int main()
{
f<X>() ;
}

797 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 18:20:31.35 ]
そもそも、システム開発用の言語がこんなに複雑な必要性って、在るのかねぇ。

798 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 18:22:47.48 ]
システム開発用の言語だからこそ
高速化の為なら何でも取り入れるべき



799 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 18:28:17.17 ]
システム開発的には安定性の方が重要だよ。
だから、Cでシコシコやってるのが丁度よい。

800 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 18:39:36.68 ]
>>796
template< typename T > using Vector = Geometory::Vector<T, 2>;
ベクトルの次元は絞るが、型は何でもいい場合。一種のカリー化したいとき。

801 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 18:48:19.55 ]
C11の_Genericみたいな糞機能はC++に輸入しないで欲しいよな
まあこれに限らずC11普及するのかよって話もあるけど

802 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 19:04:29.71 ]
ABIを壊さずにオーバーロードを実現するための
_Genericは今更C++には無用だろ

803 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 19:30:39.42 ]
C99すら・・・

804 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 20:54:57.83 ]
>>799
安定性と「Cでシコシコ」の関連が不明です。

805 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 21:00:03.01 ]
Cなら10年前どころか20年前のコード見ても古いと感じないが
C++の10年前のコードは腐臭を放ってる

806 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 21:01:20.58 ]
それ、個人の慣れの問題じゃないの?

807 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 21:03:04.20 ]
Cってだけで時代を感じるな

808 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 21:40:34.26 ]
C++は仕様が固まってから日が浅いからね



809 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 22:40:14.22 ]
>>808
まだ固まってない

810 名前:デフォルトの名無しさん mailto:sage [2012/03/20(火) 23:12:55.33 ]
使い方判らない機能は必要のない機能だから使わない方がいいよ。

いずれ、あー、こんな機能あれば安全なのになぁって必要になるときが来るけどね。
それまでは使わなくてよろしい。

811 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 09:00:55.10 ]
>>810
基本はひととおり知っとく必要がある。

そうやって必要な知識を遠まわしにして、
ものすごい面倒で複雑なロジックにする
アホがいっぱいいるんだ。

812 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 00:24:26.71 ]
積極的に使わなくてもいいが、知らなきゃ他人のライブラリは使えなくなるからな

813 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 01:21:11.57 ]
規格そのものとは関係ないが、翻訳単位が関数単位に出来ないかねぇ。
一つの関数なおす度にファイル一本コンパイルしなおすっつうのもウザい。

814 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 08:23:57.47 ]
1ファイル1関数にすればいいのでは

815 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 09:50:16.86 ]
てめえで1つのファイルに書いておきながらうざいとか言っちゃう人って

816 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 20:25:44.96 ]
そもそも構造違うけどSmalltalkなら関数(Method)単位で処理してくれるんだけどね

817 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/03/22(木) 20:28:39.00 ]
Common Lisp もな

818 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 22:30:18.91 ]
(object.*function);
関数のポインタを逆参照したときの値って
未だ未定義なんだよな。もうクロージャにでもすりゃいいのに。



819 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:03:03.61 ]
関数とメソッドの違いに注意な

820 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:12:19.98 ]
メッセージを送るセレクタにより起動されるのがメソッド
ディスパッチで呼び出されるのがメンバー関数

821 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:16:29.95 ]
最近はメソッドをまともに実装した言語も少ないな

822 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:32:30.62 ]
int (__closure function)(int) = object.Function;
int (__closure function)(int) = object.*Function;

Borlandのコンパイラじゃこんな感じにクロージャに出来たんだけどな
C++本家にゃ取り込まれず今じゃ.net環境でdelegateとして活躍しとるとは
なんか皮肉だのう

823 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:40:32.27 ]
>>822
だってそれDelphi互換用のためだけの機能だったし。
__closureって名前も紛らわしすぎる。ラムダが入った今となっては特に。

824 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:48:43.06 ]
Delphi互換かどうかはどうでもいいし、別に__closureって予約語もいらん。
ただ、std::function<int(int)> function = object.Function;って書けるなら
ラムダ書かずに済んでありがたい。そもそも、関数がオブジェクトだってのは
Smalltalkの様で自然だ。

825 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:52:30.80 ]
C#なみにラムダの記述量が減ってくれるとありがたいのだが

826 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/03/22(木) 23:53:10.27 ]
>>819
だよな。
メンバ関数のことをメソッドって言うな!! って思うよな。

827 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:56:46.31 ]
それでもまだBlocksさんに比べれば……

828 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:59:48.18 ]
>>824
変に規格に入って、VC++のABIがBorland(ってか現Embarcadero)のそれと違ってしまったら
肝心のC++Builderが困るじゃないか。



829 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:08:13.52 ]
>>824
型が弱すぎ

830 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:18:01.36 ]
>>829
なんだそれ?

831 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 08:58:04.19 ]
>>828
ABIなんて今までも互換性無かったのに今更

832 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 09:12:14.81 ]
クロージャっていまだに良くわからん

833 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 09:13:08.84 ]
>>831
折角64ビットで統一されたんだから

834 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 12:43:50.05 ]
Delphiってオブジェクト毎に関数ポインタを生成するために
動的コード生成やってなかったっけ

835 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 17:10:43.70 ]
>>834
やってない。単なる関数ポインタとthisの組。Dのdelegateなんかも同じだね。

836 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 17:23:43.28 ]
>>824
> std::function<int(int)> function = object.Function;

virtualだと単なるポインタじゃ済まないな。
関数内でthis使ってる場合も同様。
staticなメンバー関数以外、型安全にならないんじゃないの?

837 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 17:26:47.91 ]
>>836
object.Functionの時点でVMT参照して解決してしまえばいいんでそれは問題ない。
C++のメンバ関数ポインタと違って、後でthisだけ(orメンバだけ)取り替えたりはしないんだから。

838 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 19:33:27.87 ]
>>836
要するにstd::bindの構文糖にしろって事だけどわかってる?

auto function = object.Function;
auto function = std::bind( &Type::Function, &object. std::_1 );

それとも、もしかしてstd::functionの構造知らないの?




839 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 12:07:17.57 ]
最近のC++のディスられようがウザい。
DなんたらとかHasなんたらなんてどうでもいい。

840 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 13:16:00.33 ]
普通にC++について語ったらDisってるようになってしまう

C++がうんこすぎるから

841 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 13:31:57.59 ]
実用言語と実験言語を比べられてもな

842 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 15:36:27.00 ]
そうそう、C++は実験言語なんだからdisってもしょうがない。
その成果は確実に実用言語に受け継がれているよ。

843 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 15:46:29.13 ]
Dこそが真の実用言語だよなー

844 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 16:22:54.00 ]
>>842
その実用言語って何

845 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 16:39:47.12 ]
融通が利かないことを実用って言うのはちと無理があるわな
ネイティブ吐けてシステム記述できてCの資産が流用できる言語が他にないから
仕方なくC++使ってるってのが実際
いくら流行の機能入れても元が腐ってるからまともな言語設計が出来るはずもない
中の人に呪術染みた技巧コードを量産するテンプレートオナニストが集まりすぎた

Dが実用ってのはもっと無理だ
書きやすくていいんだけど今んとこ遊びにしか使えないよ

846 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 18:39:35.33 ]
>Cの資産が流用できる言語が他にない

これは大きいね。Cは仕様がコンパクトでコンパイラを簡単に作れるから
「高級言語としてCだけはある」みたいな環境がぼろぼろ存在するからね。
Cの資産は膨大だ。

847 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 18:55:18.22 ]
FFI知らんの?

848 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 19:54:59.63 ]
欧陽菲菲ネ



849 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 03:16:11.58 ]
もっとマシなものがあるなら流行っているはず

850 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 03:38:53.28 ]
>Cの資産が流用できる言語が他にない

Objective-Cがあるだろ

851 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 03:54:06.49 ]
はぁ?

852 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 04:20:52.18 ]
Objective-Cは11より変態だろ…

853 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 04:47:53.01 ]
ObjCが変態なのは否定しないけど、なんで変態なのかというと追加された文法がCから見てキモいからだろう。
(機能的には、OOP部分と組み込み型が別体系ってのは珍しくない。JavaやDもそうだし)
C++もenum classやunified function syntaxでCとは別物を被せる方向に舵を切ったじゃないか。ObjCのことは言えないと思うぜ。

あと曲がりなりにも実際に大規模に使われてる言語に対して「はぁ?」とか反応しちゃう視野の狭さが、
もっとマシなものが出てこない一番の原因と思うね。

854 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 05:38:10.01 ]
例え嫌々だろうが必要な時に使えて目的に適うならそれでいい。それがC++。

855 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 06:36:45.23 ]
C++は落ち目

856 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 06:40:37.27 ]
じゃあ上り調子のC#でも使うか

857 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 07:21:17.05 ]
ObjCはCの理念と反するからな
実行コストがかかりすぎる

858 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 07:47:11.20 ]
けっきょくC++しか選択肢がない



859 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 07:55:12.81 ]
そう思ってるのはC++使いだけ
C使いはC++も実行コストかかり過ぎだって思ってるよ

860 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 07:57:07.41 ]
けっきょくC/C++しか選択肢がない

861 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 07:57:08.63 ]
あぁ、「思ってる」な。知ってるぜ。

862 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 07:58:01.60 ]
そう思ってるのはC使いだけ
アセンブラ使いはCも実行コストかかり過ぎだって思ってるよ

863 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 07:59:52.11 ]
でもC++は落ち目で、Cはそうじゃないけどね

864 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 08:01:02.85 ]
CもC++使いもあと数年すればDに駆逐される運命だと言うのに哀れよのぅ

865 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 08:01:31.65 ]
>>849
良いものは自然と普及するという考え方はやめた方がいい

866 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 08:05:05.06 ]
Dってそんなにいいか?

867 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 08:09:40.92 ]
Dは誰にも見向きされずに消えていく…

868 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 08:21:54.93 ]
D覚えるくらいならC++と他の高級言語を使い分けるほうがいいからな



869 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 09:11:22.75 ]
C++覚えるぐらいならCと適当なスクリプト言語でいいって層の方が多いと思うぜ

870 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 09:36:59.37 ]
Dは配列でLinqできるのが面白かったけど、発展途上の時はメインには押し難い。GCはプラス要素だと思うんだけど。


871 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 11:05:16.29 ]
Objective-Cの実行コストってCに比べてどんくらい落ちるもんなの?
Effective C++の序文によるとC++は5%以内ってハゲが決めてるそうだけど
Objective-Cにもそういう約束事があるのかしら?

872 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 11:26:27.63 ]
>>871
Objective-Cのメソッド呼び出しはインタプリタ言語並の遅さ

873 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 12:46:09.18 ]
Objective-CはC++でラップしてしまえば
後はC++で作れる

874 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 14:39:25.43 ]
な、俺の予想したとおりになったろ

875 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 20:01:51.25 ]
ああ、すごいごい。

で、どんな予想したの?

876 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 20:37:31.14 ]
>>859
そういやCよりC++の方が遅いとはよく聞いたが、
あれの根拠はなんなんだ?実行イメージのロード時間?
C++のライブラリ使わない限りCと速度が変わることはないはずだが。
あと、C++のライブラリ使わず単に言語機能だけでコードを組むと
大概Cより速くなるんだがな。仮想関数とか分岐が固定されてると
インライン展開されて構造体に突っ込んだ関数のコールバックより速い。

877 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 20:39:38.88 ]
>>872
どんな言語でもメッセージ送信と同等の機能を組めば同じような速度だろうけどな。

878 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 20:43:00.53 ]
>>876
C++にはrestrictが無い(コンパイラの独自拡張を除く)



879 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 20:48:57.84 ]
>>878
なにC++11ならあるだろ。じゃないとインターフェース互換なくなる。

880 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 20:59:19.93 ]
Cとインターフェースレベルでの互換性なくしたら標準ライブラリとか阿鼻叫喚になるわな。
何が楽しくて同じ関数をC用とC++用二つもつくらにゃならんのだ。

881 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 21:03:59.88 ]
>可変長配列 (VLA) は含まれない (天のお恵みに感謝!)
www32.ocn.ne.jp/~ons/text/CPP0xFAQ.html.ja#C99

何がお恵みに感謝だよ。シネバいいのに。


882 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 21:46:47.36 ]
C++11にrestrictがあるというソースくれ

883 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 22:15:49.72 ]
ねえよ

884 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 22:27:35.98 ]
>>882
restrictがあるというと正確ではないかもしれんがC++ 11 FDIS §17.2のあたり

885 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 23:07:03.45 ]
>>871
んなこたぁない

886 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 06:56:53.40 ]
>>884
C++にはrestrictが無いって書いてあると読めますね

887 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 06:59:42.26 ]
より正確には、CのライブラリにrestrictがあってもC++はそれを無視すると書いてある

> The descriptions of many library functions rely on the C standard library 
> for the signatures and semantics of those functions.
> In all such cases, any use of the restrict qualifier shall be omitted.

888 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 07:19:37.77 ]
無視しろっていう意味ではなくて
restrict を消したヘッダを別に用意するか
マクロで消すかしろってことだと思うな、その箇所。



889 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 07:22:31.14 ]
そうなんか。処理系が頑張るんじゃなくて(ある意味人力で)
restrictの記述を落とすのか...
確かにそう読めるな

890 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 07:26:35.37 ]
素直に無視すりゃいいのになんでそんな面倒な事になったんだ?

891 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 08:28:56.21 ]
17.2 は
「C標準ライブラリは一部変更を加えて、C++でも提供する」

細かい変更箇所はあとで言うけど
restrict についてはいちいち述べているときりがないから
「restrict は一律消去で」ヨロ

という意味

restrict 以外にも変更箇所はあるのに、これだけ特別扱いで
言語レベルで無視というのは非合理かと

892 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 16:14:01.14 ]
C++からCのライブラリを使うという観点では、
restrictはライブラリ書く人が、
利用者に対して利用上の注意を求めるものだから、
無視しても実装が警告の機会を逃すくらいしかデメリットがない。
大域変数の修飾でも最適化の機会を逃すだけ。

893 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 16:21:01.47 ]
亀レスだが、
Objective-Cのメソッドディスパッチは
hash table引く。
メソッド名文字列からメソッドIDを生成して、
オブジェクトにsend出来る。
だから低レベルな小さいクラスライブラリ提供が無理。
そういう部分での設計はCでも行う必要があり、
OOな設計スキームを使う場合、
二種類のOO実装射影が必要になる。

894 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 17:48:44.24 ]
>>891
> restrict 以外にも変更箇所はあるのに、これだけ特別扱いで

C文法でC++11としてill-formedになるのってrestrict絡みだけだと思ってた
_Boolやら_Genericsやらはアンダーバー大文字始まりだから予約シンボルでどうにでもなるとして
他に何かあるの?

895 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 20:00:54.27 ]
まとめるとObjective-Cはリンゴ臭いからきもい

896 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/03/28(水) 20:11:50.27 ]
>>894
コンパウンドリテラルは C++11 に入らないことになってたような。

897 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 20:30:51.82 ]
配列の添字指定の初期化とか
構造体のメンバ指定の初期化とか
そういうのも入らない

898 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 20:44:41.25 ]
>配列の添字指定の初期化
それはgcc拡張ではないかい?
gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html



899 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 20:46:14.14 ]
悪い
俺が間違い

900 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 20:55:36.47 ]
>>896


901 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 20:56:08.76 ]
>>895


>>900はミス

902 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/03/28(水) 20:56:14.47 ]
>>899 お前誰だよ。
ID 無しだとわかりにくいから解説しとくと >>898 の方が間違いで >>897 が正しい。

903 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 20:58:33.39 ]
俺だよ俺

904 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 21:01:41.28 ]
いや、オレオレ。

905 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 21:02:22.83 ]
俺だっつてんだろ

906 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 21:07:55.05 ]
え、俺わかんね???

>>897は文章どおり11の仕様には入っていないと言っている
>>898はGCC拡張だから11の仕様には入っていないと言っている

どっちも11には入らないって言ってるんじゃなく?

おまいらが何言ってるのか教えろください

907 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 21:16:18.28 ]
>>897はC99には入ってるけどC++11の仕様には入っていないと言っている
>>898はGCC拡張だからC99の仕様には入っていないと言っている(誤り)

908 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 21:19:30.83 ]
よくわかる解説ありがとう



909 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 21:55:23.61 ]
>>893
そもそもそういう用途を想定してないからな。
あくまでもモジュール理論の体現を目指したもので、
大規模コーディングを主戦場に想定してるから。

910 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 07:24:22.03 ]
配列の形で記述された引数の [ ] の中に const とか入れる文法もC++11に入らない

911 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 07:25:18.17 ]
動的にサイズを指定できる配列も入らない

入らない仕様はかなりあるのできりないな

912 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 07:41:46.40 ]
そういや複素数型ってどうなってるんだっけ?

913 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 08:01:27.83 ]
Cとの互換性だけが取り柄の言語なのに...
C++にはCの仕様を取り込むか否か
選択する権利など無いのに勘違いしちゃってるな

914 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 08:11:41.53 ]
むしろ何でrestrictを仕様に入れないんだろう
ベクトル化とかの最適を考えると困るはずなのに
C89/C++03以前のように、プラグマで対応するっていう事?

915 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 08:17:12.15 ]
まあ現実には「昔の」Cと実用レベルで互換が取れてれば構わんのだけどね
最新のCなんて最新のC++以上に使われるか怪しいわけだし

916 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 08:23:21.65 ]
構造体のメンバ指定の初期化は結構見る気がするなあ。
ヘッダファイルに現れないなら関係ないか。






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

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

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