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


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

C++0x 4



1 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 00:25:25 ]
The C++ Standards Committee
www.open-std.org/jtc1/sc22/wg21/

wikipedia
ja.wikipedia.org/wiki/C%2B%2B0x

C++0x
pc11.2ch.net/test/read.cgi/tech/1149440647/
C++0x 2
pc11.2ch.net/test/read.cgi/tech/1191842951/
C++0x 3
pc11.2ch.net/test/read.cgi/tech/1204808027/

803 名前:802 mailto:sage [2008/12/07(日) 23:45:19 ]
ちなみに俺はISOの奴、
INCITS+ISO+IEC+14882-2003.pdf
だけ持ってる。古いのもあるが、最新はこれだけ。

804 名前:800 mailto:sage [2008/12/08(月) 05:43:34 ]
>>801
それぞれの規格をとりまとめてる機関の運営費になってるハズ。
>>802
内容的には同じだから要らない。
ISOのほうが先行して発売してたから買っちゃったけどISO版は一番高いくせに糞。
ttp://ml.tietew.jp/cppll/cppll/article/10268

805 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 08:01:47 ]
しばらく*iな理由を考え込んでしまった……

808 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 19:32:33 ]
>>803
それANSIじゃないの?
ここで買えるやつだよね。

ttp://www.techstreet.com/cgi-bin/detail?product_id=1143945

購入検討中

809 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 06:39:50 ]
>>807
iがイテレータだからだよな
パッと見だと分からないね

810 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 08:31:16 ]
んなわけねーべw > 考える、分からない

811 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 03:55:43 ]
インクリメントされるint型がポインタで渡されてる(´・ω・`)???
って、一瞬なるよ。



812 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 08:09:01 ]
iじゃなくてitにでもしておけばいいな。

813 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 10:40:45 ]
そんなのできないだろ
コンセプトマップ貼り付けられる組み込み型ってポインタだけでしょ?

815 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 11:25:20 ]
>>805はイテレータの名前がiになってるから違和感あるんだな
あまりイテレータをiって名付けてるソースはないと思う
itとかiteとかiterとかならよく見るが

>>814
んなこたない。組み込み整数型も関数型もいけるはず。

816 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 11:36:51 ]
そもそもループ変数がiなのはiteratorから来ているんじゃないの?

817 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 11:37:56 ]
intだろ……、と思わずマジレス。

818 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 11:40:12 ]
indexじゃなかったか?

819 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 11:40:52 ]
intだろうとiteratorだろうとループ変数で使うならiだなぁ
スコープが狭くて使用頻度が高ければ1文字は基本ですよねー

820 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 12:30:30 ]
オッサンがマジレスしちゃうぞー

821 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 14:04:54 ]
数学の積分で使うiはindex?

どっちにしてもiとかjとかnという変数を見たら整数だと思うよ
FORTRANerじゃないけど



822 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 14:13:26 ]
よくわからないけどintegralでは?

823 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 14:16:34 ]
頻度が高いからこそ二文字変数にしてインクリメンタルサーチで引っ掛けやすくすると言うこともあるが。

824 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 14:55:42 ]
>>816
iotaからきてるはず。
だからC++0xには
void iota(Iter first, Iter last, T value)
なんて関数が<numeric>に入るんでしょ。


825 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 15:03:31 ]
C++スレ見てたから、なぜitoaが?
卵から鶏が・・・とか思ってしまったんだぜ

826 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 20:52:23 ]
え、素直に、FORTRAN の最初の整数値変数のiから来てるんだと思っていたが
算術周りは後付でしょ

827 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 20:59:50 ]
大本は数学で行列や数列の要素を書くのに下付き文字でa_ijとか書いてたのだろ
1800年代からの習慣だ

828 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 21:06:31 ]
それはそんなに古くない習慣だと思うが

829 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 01:56:50 ]
>>814
ConceptG++で動いているコードだよ。

830 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 01:27:12 ]
ユーザー定義リテラルのサフィックスに使えるのって'_'+小文字で始まるものだけ、で合ってる?
_で始まらないのサフィックスは予約されてるし、identifierには違いないから
'_'+大文字や__でを含むのもダメなんだよね?

831 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 01:51:40 ]
'_'+小文字の識別子はファイルスコープで予約されているのだが。



832 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 02:03:03 ]
>>830
literal operatorかliteral operator templateとして定義されている識別子ならOK
www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2800.pdf

833 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 17:24:49 ]
>>831
嘘はよくないな

834 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 19:18:36 ]
refinementのばやい、concept_mapを定義すると、
refine関係のあるconceptでも、concept_mapが自動生成されます。


836 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 20:01:36 ]
つまり、D1の場合は

concept_map D1<Foo>{/*...*/}

だけでconcept_map B<Foo>も自動で作られるけど
D2の場合はそうならない

で合ってる?
てことはauto conceptの場合は全く同じでいいのかな

837 名前:デフォルトの名無しさん mailto:sage [2008/12/24(水) 21:45:15 ]
そうです。auto(以下りやくのところは節立てして書いてあります。
implict conceptがどうしたこうしたと。
仕様書から読み取るのは結構大変なんで、
六人記名の紹介論文を熟読することをお勧めします。
とはいえ、酔っぱらってて、チャックしないで書いてるから間違ってたらゴメンネ。
上のは14.9.6だとあてずっぽうで書いときますw

838 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 03:18:02 ]
d.hatena.ne.jp/faith_and_brave/20081224/1230109605
"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 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 08:55:41 ]
今の記述で十分。
m17nしたければgettext()使えばいい。

840 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 11:34:01 ]
>>839
たとえばファイルが開けなかったときの例外を表示するときには開こうとしたファイル名が
表示されてほしいんだけど、投げる側で what() にファイル名が入るようにしてたら
gettext() に支障が出るんじゃない?

841 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:28:14 ]
>>838
この人らは何者なの?
最終ドラフトにこんなに要望したって通るわけないだろ
これ以上禿に日本の悪い印象与えるのやめて



842 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:31:50 ]
誤字の訂正とか真面目な部分もあるけど、
std::string、char*をUTF-8前提にしろとか言った奴は頭悪すぎ。
>>840
そういうことをwhat()に押し付けないで。

843 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:51:16 ]
>>841
機械振興会館でやってるから、情報規格調査会のWGに集まった人たち、って
ところだね。なんか変な香具師が混じったんだろ。

844 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:07:00 ]
what 内で表示すればいいんじゃね。

845 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:51:41 ]
>>841
C++0xに関する作業はもうISO/IEC JTC1のWGへ移ってる。
ここでは上がってきたドラフトに対して各国の代表 (national bodies) が
コメントを出し、それを受けて手直しして、最終版 (FCD) を作り上げる。
そしてそれを national bodies による投票に掛けて、通ればISO/IECの規格として成立する。

日本は情報処理学会というところがnational bodyとして出席していて、
>>838はそこの関係者。

846 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 00:02:35 ]
そうか、正式な日本代表なのか

あんなのが日本代表の正式な意見書になるのか…

847 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 00:34:41 ]
ここの5.4.7に名簿が
ttp://www.itscj.ipsj.or.jp/meibo/MeiboIndex.html

848 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 00:37:52 ]
最終版はちゃんとまとめられると思うよ。
国際規格に対するJISの貢献は結構大きいよ。
本家WGに参加する日本人はまだ少ないけれど。

849 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 00:39:22 ]
>>842
「そういうこと」って何?
捜査対象ファイル名の表示を what() でやらないとして、ほかにどうするの?

850 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 00:45:44 ]
C系の言語規格の立場としては、
そういうのはローカルプラットフォームの規約や
コーディング規約でやってねってことになっているんじゃない?
少なくともMBSについては。
// WCSだとwstringパスに対するfstream APIが増えたけれど。


851 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 00:56:44 ]
>>850
完全にアプリ側だけで使うものならそれでもいいんだろうけど、
std::exception は標準の例外として bad_alloc やら ios::failure やら
stdexcept のやつらを同じ方法で扱うためのインターフェースとなるべきだろう。

そうでなければ、毎回 bad_alloc, ios::failure, ... の catch を分けて書け、とでも言うの?



852 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 01:05:51 ]
>>842
無理だろjkって空気だったよ、あの場でもさすがに。結局、コメントには残ったみたいだけど。

853 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 01:17:17 ]
wchar_t と Unicode がごっちゃになってる Windows オンリーな人なんだろうなと思う。

854 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 01:45:01 ]
>>851
std::stringにマルチバイドキャラクターストリング入れて悪いわけじゃないから、
やりたい奴は勝手にやればいい。ただそれだけ。


855 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:01:02 ]
>>855
標準の枠内で書きたければそうすればいいし、
枠からはみ出る必要があればそうすればいい。

> だからさ、それじゃ「std::exception の what() を表示する」っていうコードが書けないじゃん。

問題ない。表示されるかどうかは、
取り出してからどう扱うかと環境によるってだけ。



857 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:07:43 ]
>>856
> 標準の枠内で書きたければそうすればいいし、

「標準の枠内で書く」ということがどういうことか定まらないのが問題なんだろ。

> 問題ない。表示されるかどうかは、
> 取り出してからどう扱うかと環境によるってだけ。

「○○だと困る」って話をしてるのに「問題ない。○○ってだけ」とか、もうね。

858 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:10:43 ]
定まってる。
charには何を入れてもいい。


859 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:17:20 ]
>>858
「何を入れてもいい char の列を表示するコード」、ってバイナリダンプとか?

860 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 02:20:07 ]
>>838
localeとfacetで出来るよ。


861 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 06:31:00 ]
>>842
「真面目な部分」として「誤字の訂正」をあげるようなヤツに「頭悪すぎ」とか言われたくないなw



862 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 07:31:16 ]
変なのが沸いてるな・・・

863 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 08:49:40 ]
what()のメッセージに付記入れるなら__func__にも付記欲しいな
人が読めるようにとかオーバーロードやテンプレート実体化ごとに区別付くようにとか
縛りがないとどうせマングリング名になるだろ

864 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:09:44 ]
和製の処理系とか見たこと無いんだけど。
JISにおけるC++規格って誰が使うの?

865 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:17:38 ]
富士通が処理系出してたよ。
templateも結構まともだった。

866 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:33:23 ]
日立もつくってますね。
boostもサポートされているようです。


867 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:45:13 ]
ほぇ〜、意外。
ぶっちゃけGCCからフロントエンドパクればいいだけじゃんとは思うんだけど。
なんか自作する理由があんだね。

868 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 17:55:49 ]
大型やっているところなんでも揃えとかないといけないから。
あれがないって事になると顧客を失う。

869 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 00:40:53 ]
pc11.2ch.net/test/read.cgi/tech/1219719677/
こっちで話題になってるんですが"default constructed"って何なんでしょう
詳しい人いませんか

870 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 00:46:57 ]
default constructorによるconstructのことだろ。

871 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 01:01:42 ]
クラスはそれでいいんですけど
"default constructed"された非クラス型が
value initializedされるのかdefault initializedされるのかが問題なんです



872 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 01:58:58 ]
POD 型の場合、0 初期化されるの? されないの? って問題だな。

873 名前:デフォルトの名無しさん [2008/12/27(土) 02:51:38 ]
これってさぁ、基底クラスにObjectは採用してくれるの?

874 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 02:52:54 ]
JavaのObjectクラスみたいな全クラスの暗黙の基底クラス?
するわけがない

875 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 08:59:56 ]
>>864
あ、NECもSXシリーズのためにコンパイラ作ってましたね。
スパコンのベンダはだいたいC++のコンパイラを作っている、と。


876 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 10:16:00 ]
>>873
void*でエエがな。リフレクションならtype_infoを継承してリフレクション情報
を混ぜたクラスをtypeidで返すように各ベンダがすればいいだけだし。
関数テーブルが標準で乗るような設計はC++の理念に反する。

877 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 14:53:09 ]
>875
SXC++はtemplateが哀しいほど使えないぞ
complex<>も遅くて話にならないし

878 名前:デフォルトの名無しさん [2008/12/27(土) 15:12:12 ]
Objectが基底クラスじゃないからライブラリや設計が面倒くさいのに・・・
templateで無理やりぶん回すこともなくなるのに

879 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:26:31 ]
>>878
あんまりプログラミング言語のこと知らないんだね。

880 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:43:41 ]
>>878
キミObject型を何につかってんの?
現C++はSmalltalkやObjective-Cの様にObjectクラスが
存在しないとオブジェクト生成すらままならないという訳じゃないんだけど。

881 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:49:43 ]
むしろC++はノイマン型アーキテクチャを直接叩ける言語にしては、
異常なくらいプリミティブ型へのサポートも厚い言語。
登場した時は恐れ入りました感があった。

今流行りの言語ではプリミティブ型コンテナの
ボクシング/アンボクシングが盛んだけど、
そのきっかけの一つになったと思っている。

C++は今のやり方を貫いて欲しい。

>>880
Objective-Cは、プリミティブ型のことは知りません、
Cで取り扱ってくださいって態度。



882 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:49:46 ]
Smalltalk ならともかく、他の言語で単一継承モデルを採用している理由はなんなのかな
多重継承時のトラブル対策のみ?

883 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 15:59:16 ]
interface/protocol があると多重継承はあんまり要らない気がする

884 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:01:19 ]
>>881
SymbianやAndroidなど組み込み機器用のOOPとして現役だしね。
>>878みたいなことしても、客が逃げていくだけで何のメリットもない。

>>882
実装継承以外がinterface, trait, conceptになっただけで、
今は事実上多重継承ばかりかと。

885 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:10:08 ]
てか、Objective-Cとか知ってる人間からすると、
実装無しで継承って(笑)と思ってしまう。
interfaceなんかはあくまで、型システムによって機能しなくなった
メッセージングを補完する為だけの苦肉の策で、本来の継承とはかけ離れたよに思う。


886 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:15:54 ]
>>884
Mixinは実装多重継承との関わりがあると言っていいんじゃないの?

887 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 16:16:12 ]
>>872
されない
struct foo {
 char bar[1000000]
}
が自動的に初期化されたらいやだろう
デフォルトコンストラクトは文字通り「何もしない」ので不定値が入る

888 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:05:41 ]
Objective-Cとか知ってる人間(笑)

889 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:09:20 ]
>>882
多重継承は仮想関数テーブルが複雑になって実装が面倒だからじゃね?

890 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:14:00 ]
>>888
そうか?見識が広がっていいと思うぞ。
C++とは真逆の言語だからね。



891 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 17:38:32 ]
>>889
invokeinterfaceやmixinでも同じだよ。



892 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 18:00:09 ]
>>891
問題は仮想継承辺りの扱いかもね。

893 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 18:04:36 ]
いい加減exportの扱いどうにかならんか?
0xなるんだから委員会も、もう少し強制するなりしろや。
コンパイル速度が遅くてかなわんぞ。

894 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 18:10:27 ]
exportは実装に見合うだけの利益はないよ。
コンパイル時間が一割ぐらい早くなるかもしれんが、exportによって、
今までできなかったことができるようになるとか、そういうことは一切ないから。

895 名前:875 mailto:sage [2008/12/27(土) 18:35:24 ]
>>877
実際に使ったことはないのですがw
情報ありがとうございます。
まあ、日立、富士通、NECといったスパコンベンダは
C++コンパイラを作っているのは事実、ということで。


896 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 18:58:54 ]
>>887
引用スレに書かれている通り、foo() の書き方だと0初期化だよ。その互換性の話をしているんだと思う。

897 名前:デフォルトの名無しさん mailto:sage [2008/12/27(土) 19:26:09 ]
>>894
 そんなにみみっちいかなぁ。
 GCCのpragmaでやってるような、翻訳単位ごとにテンプレートのインスタンスが
発生するという事態は改善できるだろ。それから、ヘッダーの見通しもよくなるし、
STLの内部実相の為にベンダーが用意した__imp__comperなんて関数も取り込まなくて
済むようになる。(ファイルスコープが効く)
 まぁ、実装が一つしか無いから机上の空論ではあるけどね。

898 名前:デフォルトの名無しさん mailto:sage [2008/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 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 19:38:46 ]
private継承は使うだろ普通に
無名共用体はC++ではあんまり使わないかもしれないけどCではよく使う

900 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 19:40:03 ]
上に関しては、そんな書き方初めて見た。
それprivate扱いなの? 書き忘れ?

901 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 19:50:43 ]
>>900
C++のclassはアクセス指定を省けば
基本private。structはその真逆。



902 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 19:58:21 ]
なるほど、そのルールは継承にも適用されてたのね。。

903 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 20:22:20 ]
メンバー変数に対するポインタは、
自作インタープリタ上のオブジェクトを
C++のクラスに結び付けるテンプレートを書いた時に使ったことがある。


904 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 23:43:57 ]
メンバ変数に対するポインタは
リストの prev/next のどちらにも適用できる処理を書く際に使えたりする。

905 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 02:18:43 ]
いよいよ09年なわけだが

906 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 03:41:14 ]
今年中に纏まるとは思えないのだが。

907 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 03:59:11 ]
日本限定なら09年度という便利な言葉が使えるんだが。

908 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 04:04:08 ]
それでも猶予は4ヶ月しか増えないのだが

909 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 06:57:41 ]
いや、そもそも0x年まであと27年もあるわけだが

910 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 07:08:47 ]
C++0xa

911 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 09:10:41 ]
(++0x)
だからあと2年猶予があるぞ



912 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 09:13:14 ]
どうせ急いで制定してもC++プログラマの大多数は飛びつかないな・・・

913 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 10:13:30 ]
とりあえずautoだけでも早く使えるように頼む

914 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:07:46 ]
いやいやunique_ptrを

915 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:14:38 ]
スレッドの概念が入るだけでありがたい

916 名前: 【豚】 【282円】 mailto:sage [2009/01/01(木) 23:19:47 ]
variadic templatesが使えるようになるのはいつですか

917 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 23:25:07 ]
2011

918 名前:デフォルトの名無しさん mailto:sage [2009/01/02(金) 07:47:47 ]
>916
gcc 4.3 以降を入れれば今すぐにでも。

919 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 03:38:53 ]
const int n1 = 10;

constexpr int n2 = 10;
って何が違うの

920 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 03:42:53 ]
右辺が整数定数なら差はないんじゃね

921 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 13:49:48 ]
constexpr って導入する意味あるの?




922 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 13:58:07 ]
constexprな関数の導入に意味がある。

923 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 14:25:05 ]
constexpr constructor凄く便利。

ダラダラと逐次的な初期化コードや
それを含む初期関数を書く必要がなく、
データを宣言的に書ける。

924 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 21:38:33 ]
>>923
kwsk... constexpr って(有る程度複雑な)計算結果が定数として扱えるように
なるとしかわかってないんですが、それがデータが宣言的にかけるとは
どういうことでしょう?

925 名前:923 mailto:sage [2009/01/04(日) 23:00:49 ]
日本語訳もあるからググれ







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

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

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