C++0x
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2006/06/05(月) 02:04:070002デフォルトの名無しさん
2006/06/05(月) 02:08:280003デフォルトの名無しさん
2006/06/05(月) 02:10:44--- C++98 Code ---
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
vector<int>::iterator i = find(v.begin(), v.end(), 2);
--- C++0x Code ---
vector<int> v = { 1, 2, 3 };
auto i = find(v, 2);
STLヴァリヴァリな人にはとってもラクチンになる予感。
0004デフォルトの名無しさん
2006/06/05(月) 02:12:310005デフォルトの名無しさん
2006/06/05(月) 02:13:230006デフォルトの名無しさん
2006/06/05(月) 02:14:26規格だけ新しくしても実情が付いてこなけりゃどうにもならん。
実装してみて初めて分かることってのもあるし、様子を見てたんじゃないの?
0007デフォルトの名無しさん
2006/06/05(月) 02:15:110008デフォルトの名無しさん
2006/06/05(月) 02:15:270009デフォルトの名無しさん
2006/06/05(月) 02:17:19こうしてC++は巨大言語の地位を不動のものとするのでありました。
0010デフォルトの名無しさん
2006/06/05(月) 04:25:240011デフォルトの名無しさん
2006/06/05(月) 12:08:100012デフォルトの名無しさん
2006/06/05(月) 14:18:420xは16進数のprefixだっていうことにならんかな
0013デフォルトの名無しさん
2006/06/05(月) 16:49:10後者のfindは今のboost.range_ex相当だと思っていいんだよな?
0014デフォルトの名無しさん
2006/06/05(月) 17:38:27C++ってもうプログラミング言語の実験室だな。
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/
を見ていると欲しい機能が満載w
0015デフォルトの名無しさん
2006/06/05(月) 18:58:150016デフォルトの名無しさん
2006/06/05(月) 20:43:59Boostでほぼ実現されているところが怖いな
>>15
BoostのVaultになんかあったぞ
0017デフォルトの名無しさん
2006/06/05(月) 21:55:440018デフォルトの名無しさん
2006/06/05(月) 21:56:24これCとの互換性なくならない?
配列のサイズどうする気なの?
0019デフォルトの名無しさん
2006/06/05(月) 21:59:29$ ls /usr/include/c++/4.1.1/tr1
array bind_iterate.h bind_repeat.h boost_shared_ptr.h
functional functional_iterate.h hashtable memory
mu_iterate.h ref_fwd.h ref_wrap_iterate.h repeat.h
tuple tuple_iterate.h type_traits type_traits_fwd.h
unordered_map unordered_set utility
http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/namespacestd_1_1tr1.html
0020デフォルトの名無しさん
2006/06/05(月) 22:03:35> これCとの互換性なくならない?
どうなくなるの?
> 配列のサイズどうする気なの?
boost/preprocessor/array/*と同じ動作になるんじゃないの?
0021デフォルトの名無しさん
2006/06/07(水) 17:16:020022デフォルトの名無しさん
2006/06/07(水) 21:18:51…確かに末だな。
0023デフォルトの名無しさん
2006/06/07(水) 21:23:410024デフォルトの名無しさん
2006/06/07(水) 22:53:24Lambda expressions and closures for C++
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1968.pdf
0026デフォルトの名無しさん
2006/06/08(木) 09:24:360027デフォルトの名無しさん
2006/06/08(木) 18:50:12を分かりやすくかつ高パフォーマンスにして欲しい。
今のは使いにくい。
0028デフォルトの名無しさん
2006/06/08(木) 20:33:340029デフォルトの名無しさん
2006/06/08(木) 20:54:050030デフォルトの名無しさん
2006/06/10(土) 07:30:18改訂してくれんかな。
0031デフォルトの名無しさん
2006/06/10(土) 10:36:150032デフォルトの名無しさん
2006/06/11(日) 11:33:060033デフォルトの名無しさん
2006/06/11(日) 11:47:292進←→16進なんて簡単に脳内で変換できるんだから要らなくね?
0034デフォルトの名無しさん
2006/06/11(日) 12:02:1410bitまでならherumiさんのtemplateで出来るぞ。
0035デフォルトの名無しさん
2006/06/11(日) 12:08:43ソース中に記述できることには別の意義がある。
0036デフォルトの名無しさん
2006/06/11(日) 12:19:32例えば?
0037デフォルトの名無しさん
2006/06/11(日) 12:24:390 → 8進
0x → 16進
じゃあ2進は?
後ろにhとかoとかの形式なら、bを増やせばいいだけなんだが…。
0038デフォルトの名無しさん
2006/06/11(日) 12:31:38ただ、2進表記は微妙と個人的には思う。
0b10101010101010101010101010101010
0x55555555
ソースコード上の2進表記を読み取るより、
16進表記を脳内で2進に変換するほうが個人的には圧倒的に楽
0039デフォルトの名無しさん
2006/06/11(日) 12:37:17ソース上で16進表記になっていると、
仕様を変更するときには変換しないといけないだろ?
ソース中に2進表記ができればコピペで済む所が
脳内変換を必要とするわけよ。これはよくない。
0040デフォルトの名無しさん
2006/06/11(日) 12:39:050041デフォルトの名無しさん
2006/06/11(日) 13:10:33短い表記ならtemplateでも対処できるわけだし。
0042デフォルトの名無しさん
2006/06/11(日) 13:29:32手間はコピペするのと大差無いだろ。何が問題なのかわからん。
それともいちいち、2進の各桁に2のn乗かけて・・ってやらないと変換出来ないヘタレか?
10進数を介さないと変換できません、とか。
そんな低脳のために余計な仕様付ける方がどうかしてるわ。
0043デフォルトの名無しさん
2006/06/11(日) 13:37:19コピペと脳内変換で大差ないと思うの?
少なくとも俺は面倒で嫌だな。
2進と16進の変換は普通にできるけどね。
0044デフォルトの名無しさん
2006/06/11(日) 13:48:08正規表現やら何やらを使って半自動で追加させるのも、
16進にコンバートするコンバータをちゃちゃっと書いてしまうのも大差ないと思うが。
どちらにせよそんな限られた状況のためだけに2進数定数を仕様に導入する価値はないと思う。
0045デフォルトの名無しさん
2006/06/11(日) 13:54:55> 16進にコンバートするコンバータをちゃちゃっと書いてしまうのも大差ないと思うが。
十分メンドクセェよ。仕事頼める人が限られるのもウザイ。
限られた状況なのはわかってる。しかし一部には確実なニーズがあり、
仕様については実装も簡単だし互換性に影響しないこともあるんで、
追加してもいいだろうとは思う。
これ以上は水掛け論だろうねぇ。
0046デフォルトの名無しさん
2006/06/11(日) 14:02:00標準規格に入ってない(というか入れられない)だけじゃなかったか?
今後も入ることはないだろ。
0047デフォルトの名無しさん
2006/06/11(日) 14:08:150048デフォルトの名無しさん
2006/06/11(日) 14:09:37そんな問題は16進でも同じじゃないか?
0049デフォルトの名無しさん
2006/06/11(日) 14:11:41#include<stdio.h>
#include<stdlib.h>
int main(){
char s[80];
while(gets(s))printf("0x%08lX\n",strtoul(s,0,2));
return 0;
}
0050デフォルトの名無しさん
2006/06/11(日) 14:14:59例えば
int i=0x10;
は、ビッグエンディアンなら10000、リトルエンディアンなら00001のビット列と解釈される(コンパイラが自動でやってくれる)ので
ソースコードを別マシンに移しても問題ないけれど、
int i=0b10000;
という表記を認めたら、それは0x10なのか、それとも0x1なのかの解釈がコンパイラによって変わってしまい、
ソースコードの移植性がなくなるって話だろ。
0051デフォルトの名無しさん
2006/06/11(日) 14:16:09はいはい。スゲェスゲェ。
そのレベルで済ませられる奴が同じチームに何人居ると思う?
何人も居たとして、同じ(似たような)機能のツールを
世界中のプログラマが繰り返し実装するのを無駄だとは思わんかね?
0052デフォルトの名無しさん
2006/06/11(日) 14:17:540053デフォルトの名無しさん
2006/06/11(日) 14:19:25エンディアンはメモリなどのバイト列を考えたときの
バイトオーダーの話だから、数値の表現形式自体とは関係ないよ。
0x10 が 16 と定まるように、 0x10 は 0b10000 と定まる。
0054デフォルトの名無しさん
2006/06/11(日) 14:23:01>そのレベルで済ませられる奴が同じチームに何人居ると思う?
>何人も居たとして、同じ(似たような)機能のツールを
>世界中のプログラマが繰り返し実装するのを無駄だとは思わんかね?
驚いたwwww
ひどい低能だな
お前にプログラミングは向いてない
やめたほうがいいと思われ
0055デフォルトの名無しさん
2006/06/11(日) 14:23:120056デフォルトの名無しさん
2006/06/11(日) 14:25:41C++標準委員会は既にバイナリリテラルへの対応を予備審査で却下してるんだから
これから実装されることはまずあり得ない。
0057デフォルトの名無しさん
2006/06/11(日) 14:25:58質問には答えてほしかったんだが、まぁいい。
どうせ現実世界には影響の無い与太話だ。
0058デフォルトの名無しさん
2006/06/11(日) 14:35:53C++0x - the upcoming revision of the ISO C++ standard; 'x' is scheduled to be '9'. See my publicatons page.
2009年予定なのね…
ISOの改訂って5年ごとじゃなかったっけか?
0059デフォルトの名無しさん
2006/06/11(日) 15:11:00で、やるからには8or4ビットごとにセパレータを入れられればもっといい。
Ex. 0xdead → 0b1101_1110_1010_1101
0060デフォルトの名無しさん
2006/06/11(日) 15:51:52これか。いつ追加されるのだ
まーこんなのよく考えるもんだ
0061・∀・)っ-○◎● ◆toBASh....
2006/06/11(日) 18:00:21ってことやってる会社は知ってる
0062デフォルトの名無しさん
2006/06/11(日) 18:03:110063デフォルトの名無しさん
2006/06/11(日) 18:05:25javaしかやったことないんで。
しかもさ、本にのってないよね?
よくわかるCとか、かんたんできるCとか
いろいろ本でてますけどCUIだよな。
どうしたらCでGUIアプリ作れるの?
0064デフォルトの名無しさん
2006/06/11(日) 18:08:200065デフォルトの名無しさん
2006/06/11(日) 18:10:25Cしかやったことないんで。
しかもさ、本にのってないよね?
よくわかるJavaとか、かんたんできるJavaとか
いろいろ本でてますけどVMだよな。
どうしたらJavaでネイティブアプリ作れるの?
0066デフォルトの名無しさん
2006/06/11(日) 18:22:050067デフォルトの名無しさん
2006/06/11(日) 20:15:11五年ごとって決まっているのは一部でしょ。
たとえばFORTRAN。
0068デフォルトの名無しさん
2006/06/12(月) 23:27:59template <unsigned long N>
struct binary
{
static unsigned const value
= binary<N/10>::value * 2 + N % 10;
}
0069デフォルトの名無しさん
2006/06/12(月) 23:31:130070デフォルトの名無しさん
2006/06/12(月) 23:39:28template<
unsigned long Byte1, unsigned long Byte2,
unsigned long Byte3, unsigned long Byte4>
struct binary4
{
staic const unsigned long value =
binary<Byte1>::value << 24 |
binary<Byte2>::value << 16 |
binary<Byte3>::value << 8 |
binary<Byte4>::value << 0;
};
binary4<11110001, 11100010, 11010011, 11000100>::value == 0xf1e2d3e4
0071デフォルトの名無しさん
2006/06/12(月) 23:58:14templateはboostに却下された
0072デフォルトの名無しさん
2006/06/13(火) 00:03:220073デフォルトの名無しさん
2006/06/13(火) 01:11:050074デフォルトの名無しさん
2006/06/20(火) 19:53:270075デフォルトの名無しさん
2006/06/24(土) 01:13:05http://www.amazon.com/gp/product/0321412990/
http://www.aw-bc.com/catalog/academic/product/0,1144,0321412990,00.html
Pete Beckerハァハァ
http://www.petebecker.com/
0076デフォルトの名無しさん
2006/06/24(土) 01:37:47本を出す意義がわからん。
↓のドラフトや boost の実装、ドキュメントで十分だろ。
http://www.open-std.org/jtc1/sc22/wg21/
0077デフォルトの名無しさん
2006/06/24(土) 02:37:210078デフォルトの名無しさん
2006/06/24(土) 05:35:16決めねえと間に合わなくなると思うんだがな。こいつら入ったら
ライブラリ大幅に書き直しじゃん?
0079デフォルトの名無しさん
2006/06/24(土) 09:49:39Peteが出すんだから、出す意味のある内容なんじゃないのかね。
>>78
0xは2009らしいから、ライブラリも頑張って全面的に書き直すんじゃないのかね。
C++って本当、永遠に仕様が確定しそうにないよな。
0080デフォルトの名無しさん
2006/06/24(土) 13:02:27とは禿の言葉だっけか
0081デフォルトの名無しさん
2006/06/24(土) 14:31:540082export
2006/06/24(土) 14:55:05私を知っている人はいますか?
0083・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/06/24(土) 15:14:380084デフォルトの名無しさん
2006/06/24(土) 15:42:030085・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6
2006/06/24(土) 15:46:480086デフォルトの名無しさん
2006/06/24(土) 16:53:21shared_ptrは再帰デストラクタ失敗するのが弱点だよな。
0087デフォルトの名無しさん
2006/06/24(土) 17:23:13> shared_ptrは再帰デストラクタ失敗するのが弱点だよな。
なんのこと?
0088デフォルトの名無しさん
2006/06/24(土) 17:30:520089デフォルトの名無しさん
2006/06/24(土) 18:50:37concept の導入によりテンプレートの定義と実装を分けることが
可能になれば、あるいは再デビューできるかも試練よ
0090デフォルトの名無しさん
2006/06/24(土) 19:01:55>0xは2009らしいから、ライブラリも頑張って全面的に書き直すんじゃないのかね。
現状の年2回のミーティングじゃ3年なんてあっと言う間だろう。
N2004より
>The following proposed changes will cause the C++0x schedule
>to slip if the committee does not commit to them by the end of
>the October, 2006 meeting, ...
0091デフォルトの名無しさん
2006/06/24(土) 20:46:200092デフォルトの名無しさん
2006/06/24(土) 21:04:496198年後かよ
0093デフォルトの名無しさん
2006/06/24(土) 23:26:48でも予約だけはされてんのな。
0094デフォルトの名無しさん
2006/06/25(日) 16:38:34既に規格の一部です。
0095デフォルトの名無しさん
2006/06/26(月) 08:09:140096デフォルトの名無しさん
2006/06/29(木) 22:23:000097デフォルトの名無しさん
2006/06/29(木) 23:45:12字句は識別子としての要件を満たしているから。
だけど文法上特別な意味を持たすために、
識別子として使えないようコンパイラがその字句を「予約」している。
0098デフォルトの名無しさん
2006/06/30(金) 00:10:26除外語がreserved workの訳には適当。
0099デフォルトの名無しさん
2006/06/30(金) 01:10:08concept_map InputIterator<int> {
typedef int value_type;
typedef int reference;
typedef int* pointer;
typedef int difference_type;
int operator*(int x) { return x; }
};
copy(1, 17, ostream_iterator<int>(cout, " "));
// prints: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0100デフォルトの名無しさん
2006/06/30(金) 09:43:52「除外」のほうが違和感がある
0101デフォルトの名無しさん
2006/06/30(金) 12:53:140102デフォルトの名無しさん
2006/06/30(金) 13:51:26中学校からやり直せ。
いや、おまえは英語を読むな。
0103デフォルトの名無しさん
2006/06/30(金) 18:43:40ヘタにガリガリ書くコーディングが減っていいんじゃないか?
0104デフォルトの名無しさん
2006/07/10(月) 12:59:49はやりすぎと思うが。
話題もないので張っときます。
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2051.htm
Strong candidates for TR2 include:
* Filesystem (accepted)
* Thread support
* Date and time
* Network file support
* Consistent system/OS error reporting
* Range-types, to complement iterators
* String algorithms
* Optional/Nullable values
* Range-checked numeric-casts
* 'Lexical' casts
* typesafe 'any' class
* interval arithmetic
* Unlimitted precision integer type
0105デフォルトの名無しさん
2006/07/10(月) 20:46:42Thread単体でサポートしてもなぁ。
ACE見たく非同期関連のフレームワークと一緒でないとあんまり役に
たたない様な気がするけど。
(boost.)lexical_castはspiritがあるのでちっとも使わん。
0106デフォルトの名無しさん
2006/07/11(火) 03:12:35Boostにある、あれをそのまま盛り込むのだろうか。
>* Unlimitted precision integer type
まあ、簡単につかえる標準ライブラリは欲しいかな。
0107デフォルトの名無しさん
2006/07/11(火) 06:56:10Any Library Proposal for TR2
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1939.html
かなり強力
Proposal for an Infinite Precision Integer for Library Technical Report 2, Revision 1
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2020.pdf
0108デフォルトの名無しさん
2006/07/12(水) 22:26:27でもC++に標準でスレッドサポートされる、というのは大きいんじゃまいか。
もしかしたら将来のCでもサポートされるかもしれんし。
0109デフォルトの名無しさん
2006/07/12(水) 22:42:35実現したらかなり協力だなぁ
0110デフォルトの名無しさん
2006/07/12(水) 23:06:200111デフォルトの名無しさん
2006/07/12(水) 23:28:26それ以外の勢力は元気なくてさみしい。
0112デフォルトの名無しさん
2006/07/14(金) 02:28:31規格が決まってから、実装するまで何年ぐらいかかるのかな。
0113デフォルトの名無しさん
2006/07/14(金) 03:00:550114デフォルトの名無しさん
2006/07/14(金) 13:30:29boostからtr1が使っている部分だけ抜き出してそれをVC++用に使うようにすればいい
といってみるテスト
0115デフォルトの名無しさん
2006/07/14(金) 16:02:33新しいライブラリの名前空間はどうなるんだろう。
まさか tr1 などというかっこ悪い名前空間のままだったりはしないよね。
でも、stdに押し込むと、既存のライブラリと衝突したりしないのかな
0116デフォルトの名無しさん
2006/07/14(金) 16:06:59衝突しないようにstdに入れるんじゃまいか?
0117デフォルトの名無しさん
2006/07/16(日) 01:56:200118デフォルトの名無しさん
2006/07/16(日) 09:12:22けどJavaみたいに階層構造になっているのもいいよな。
importってのは、#includeとusingをうまく組み合わせていると思う。
0119デフォルトの名無しさん
2006/07/16(日) 10:13:570120デフォルトの名無しさん
2006/07/16(日) 10:46:32ってめんどくさいから、例えば
namespace com::example::myproj { /* */ }
とかね。
ふと思ったんだけど、C++0xはライブラリ以外の部分はどう変わるんだろう。
0121デフォルトの名無しさん
2006/07/16(日) 12:06:35http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1905.pdf
0122デフォルトの名無しさん
2006/07/16(日) 15:01:35昨今のPRT人気の影響なんだろうか
0123デフォルトの名無しさん
2006/07/17(月) 09:20:31追加削除あるところはだいたい文字色変えてあるのね。わかりやすくていい。
そこだけざっと見たところ、C99互換以外では、static_assert が増えてるのと、
コンテナやイテレータにちょこっとメンバが増えてるのくらいだな。
0124デフォルトの名無しさん
2006/07/17(月) 11:47:30ドラフトで800ページオーバーかよ・・・・orz
0125デフォルトの名無しさん
2006/07/17(月) 12:52:37Generic Programming in ConceptC++
http://www.generic-programming.org/languages/conceptcpp/
0126デフォルトの名無しさん
2006/07/19(水) 18:16:54この調子で5W1Hの予約語が追加されたらオモロ
0127デフォルトの名無しさん
2006/07/19(水) 18:57:330128デフォルトの名無しさん
2006/07/19(水) 21:58:130129デフォルトの名無しさん
2006/07/19(水) 22:00:17フランス語だとあぶないかもですが。
0130デフォルトの名無しさん
2006/07/20(木) 11:12:130131デフォルトの名無しさん
2006/07/20(木) 12:22:070132デフォルトの名無しさん
2006/07/20(木) 12:29:000133デフォルトの名無しさん
2006/07/20(木) 13:55:34すみません、関係ないです。はい。
0134デフォルトの名無しさん
2006/07/20(木) 18:37:25ってどんどん無関係な話題になってないか?
0135デフォルトの名無しさん
2006/07/20(木) 21:33:300136デフォルトの名無しさん
2006/07/20(木) 22:04:170137デフォルトの名無しさん
2006/07/20(木) 22:10:030138C++/CLI
2006/07/21(金) 01:17:110139デフォルトの名無しさん
2006/07/21(金) 02:08:140140デフォルトの名無しさん
2006/07/21(金) 02:26:37C++0x
魚の骨かと
0141デフォルトの名無しさん
2006/07/21(金) 05:39:130142デフォルトの名無しさん
2006/07/21(金) 11:07:180143デフォルトの名無しさん
2006/07/22(土) 18:56:00http://www.linkage-club.co.jp/ExamInfo&Data/BNC%20lemma%20Web.txt
0144デフォルトの名無しさん
2006/08/12(土) 12:18:33戻り値最適化が解決できるし。
STLコンテナやstringと相性いいと思うんだけどな。
T operator+(const T& lhs, const T& rhs)
T& operator+(temporary T& lhs, const T& rhs)
T& operator=(const T& t)
T& operator=(temporary T& t)
0145デフォルトの名無しさん
2006/08/12(土) 18:44:530146デフォルトの名無しさん
2006/08/12(土) 18:50:21move semanticsがC++に導入されるのを期待しよう。
0147デフォルトの名無しさん
2006/08/12(土) 23:04:01でも例えばこう書ければなぁ、と思ってたんだけど
move semanticsの仕様でも多分できるよね。
string&& operator+(string&& lhs, const string& rhs) {
return lhs += rhs;
}
boost::arrayあたりはこう書けないと困るのだけど。
0148デフォルトの名無しさん
2006/08/12(土) 23:42:19いらないか・・
0149デフォルトの名無しさん
2006/08/13(日) 01:48:170150デフォルトの名無しさん
2006/08/13(日) 07:49:400151デフォルトの名無しさん
2006/09/07(木) 04:19:13ECMAScript相当なんだな。
うーん、今時look-behindがないってのは見劣りするなあ。
0152デフォルトの名無しさん
2006/09/07(木) 14:25:140153デフォルトの名無しさん
2006/09/07(木) 15:22:210154デフォルトの名無しさん
2006/09/07(木) 16:44:132010年までには出すぞ、という願望の現われだと今日知った。
早く使いたいな。
0155デフォルトの名無しさん
2006/09/07(木) 17:52:590156デフォルトの名無しさん
2006/09/07(木) 21:27:24ドラえもんはそれで書かれてる。
0157デフォルトの名無しさん
2006/09/07(木) 23:56:450158デフォルトの名無しさん
2006/09/08(金) 09:56:08exportの例があるからな…
0159デフォルトの名無しさん
2006/09/08(金) 12:25:16問題あるような。
0160デフォルトの名無しさん
2006/09/09(土) 00:22:06C++全体に渡ってそんな感じではあるが。
0161デフォルトの名無しさん
2006/09/09(土) 02:41:12不思議なポッケでかなえてくれるドラえもんはいないという点にまで気が回らなかったと
0162デフォルトの名無しさん
2006/09/09(土) 03:24:51誰も近寄らなくなったけどw
0163デフォルトの名無しさん
2006/09/09(土) 04:32:410164デフォルトの名無しさん
2006/09/09(土) 09:46:540165デフォルトの名無しさん
2006/09/09(土) 12:19:22それは最適化。
たとえば、リンク時にインライン展開するとか。
0166デフォルトの名無しさん
2006/09/09(土) 13:39:37コンパイルは出来るのにそれがC++言語として
正しいかどうか調べ回らないといけないのがつらい
ガベージコレクタの*ない*Javaがモダンな言語とは全く思わないが
write once, compile anywhereなのはうらやましい
0167デフォルトの名無しさん
2006/09/09(土) 13:45:23失うものも多いが、楽なのは確かだ。
0168デフォルトの名無しさん
2006/09/09(土) 13:48:10ただ、それでも他のコンパイラでコンパイルすると
不完全だと分かる事もよくある話。
難しいもんですな。
0169デフォルトの名無しさん
2006/09/09(土) 14:54:45debug anywhere だけどな
0170デフォルトの名無しさん
2006/09/09(土) 18:08:440171デフォルトの名無しさん
2006/09/09(土) 20:42:300172デフォルトの名無しさん
2006/09/09(土) 23:32:000173デフォルトの名無しさん
2006/09/11(月) 06:00:000174デフォルトの名無しさん
2006/09/11(月) 21:11:16コンパイルオプションが欲しい。
0175デフォルトの名無しさん
2006/09/11(月) 21:55:25そういうlocale(特にcodecvt)を作ればいいという話ではないのか?
0176デフォルトの名無しさん
2006/09/11(月) 22:11:50さっくり削除してほしいと思っているのは自分だけ?
0177デフォルトの名無しさん
2006/09/11(月) 22:13:380178デフォルトの名無しさん
2006/09/11(月) 22:16:05> char を UTF-8
どういうこと?
charというか、mbsのこと?
0179デフォルトの名無しさん
2006/09/11(月) 22:17:32> wchar_t を UTF-16 として
どういうこと?
UTF-16じゃなくて、UCS-4でなく?
0180デフォルトの名無しさん
2006/09/11(月) 22:18:43君みたいな人は少ないと思う。
0181デフォルトの名無しさん
2006/09/12(火) 01:02:06邪魔にされる日が来るのかね。
1文字2Bytesは呑めても、4Bytesは呑み込み辛い…様な。
0182デフォルトの名無しさん
2006/09/12(火) 01:24:19欧米人は1文字2バイトも受け入れがたい存在なのではないかと考えたことがある。
実際のところどうなのかは知らないが。
ちなみに俺は仮名漢字がほとんどの場合、UTF-8でも受け入れ難い。
0183デフォルトの名無しさん
2006/09/12(火) 02:34:51> News 2006-09-11: The 2006-09 mailing is available (4700 kb tar.gz, .zip 4700 kb) individual papers
> News 2006-09-11: The C++ Standard Library Issues List (Revision 44) is available (.tar.gz)
> News 2006-09-11: C++ Standard Core Language Issues List (Revision 43) is available, also committee version
0184デフォルトの名無しさん
2006/09/12(火) 13:22:39(゚∀゚)ktkr
待ってたぜ。これで仕事中こっそり楽し(ry
0185デフォルトの名無しさん
2006/09/13(水) 05:22:20> 欧米人は1文字2バイトも受け入れがたい存在なのではないかと考えたことがある。
だからこそUTF-8でしょ
> ちなみに俺は仮名漢字がほとんどの場合、UTF-8でも受け入れ難い。
日本人の都合なんか知ったこっちゃないし
0186デフォルトの名無しさん
2006/09/13(水) 06:41:570187デフォルトの名無しさん
2006/09/13(水) 08:27:03別個に string 型を用意して、string::char を定義して、あとは実装依存でいいと思うんだが
0188デフォルトの名無しさん
2006/09/13(水) 09:48:52basic_stringテンプレート知らない人ですか、ああそうですか
0189デフォルトの名無しさん
2006/09/13(水) 12:24:080190デフォルトの名無しさん
2006/09/13(水) 12:54:370191デフォルトの名無しさん
2006/09/13(水) 18:51:230192デフォルトの名無しさん
2006/09/13(水) 21:24:18std::cout << i;
とやって、32じゃなくて、空白が出力されたるの嫌やん
0193デフォルトの名無しさん
2006/09/13(水) 21:26:02文字を表すchar
双方を別々に定義すべきだという主張かと
0194デフォルトの名無しさん
2006/09/13(水) 21:38:12なんで cout << で全部文字になっちまうんだ?
0195デフォルトの名無しさん
2006/09/13(水) 21:54:36文字としてuchar使ってるケースあるし、その辺との兼ね合いでね?
0196デフォルトの名無しさん
2006/09/14(木) 08:34:29そう。バイト単位のデータを表す型と文字を表す型が同一であることが、本気で文字列を
なんとかしようという意志の無さの表れではないかと
実体が wchar_t であろうと char であろうと、1文字を1文字として扱えるなら関心はないよね
文字列の仕様なんてたぶんこの先もふらふらするんだから、ある程度距離を取っておいた
方がいいと思うんだな
string と encode をセットで別個にライブラリとして定義してもらった方が個人的には嬉しい
0197デフォルトの名無しさん
2006/09/14(木) 08:52:47文字列(というか文字)を何とかした結果が今の形 char だと思う。
>string と encode をセットで別個にライブラリとして定義してもらった方が個人的には嬉しい
ができる柔軟性も、char, wchar_tのおかげと思えば・・
0198デフォルトの名無しさん
2006/09/14(木) 22:37:48std::string と std::wstring 間にろくな互換性無いだろ?
これを柔軟性というのか?
0199デフォルトの名無しさん
2006/09/14(木) 23:06:500200デフォルトの名無しさん
2006/09/15(金) 00:54:03互換性って例えばどういうこと?
0201デフォルトの名無しさん
2006/09/15(金) 01:44:550202デフォルトの名無しさん
2006/09/15(金) 09:11:21自分のファイル名(x.exe)を読み込んで
xの部分がAすなわちA.exeだったらaを実行して
xの部分がBすなわちB.exeだったらbを実行する
っていうようなCのプログラムを教えてください。
0203デフォルトの名無しさん
2006/09/15(金) 09:26:00もしかしてマルチ?
0204デフォルトの名無しさん
2006/09/15(金) 09:34:41どこだか忘れたが別スレで見た
>202
あっちのスレに答えが書いてあったぞ
0205デフォルトの名無しさん
2006/09/17(日) 00:49:06たぶんそんなことはないだろうが
0206デフォルトの名無しさん
2006/09/17(日) 11:10:37たぶんそんなことはないだろうが
0207デフォルトの名無しさん
2006/09/17(日) 15:01:57書き込む前にまず他人に通じるかどうか考えようぜ。
0208デフォルトの名無しさん
2006/09/17(日) 20:43:56そりゃ無理だ。読む奴が基地外だったら、どんな書き方をしても通じない。
とにかく書きゃいいんだって。
0209デフォルトの名無しさん
2006/09/17(日) 23:24:34本当に誰にも通じないけどな。
0210デフォルトの名無しさん
2006/11/24(金) 14:31:34Editor's ReportPete Becker
2006-11-03
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2133.html
N2134 06-0204
Working Draft, Standard for Programming Language C++Pete Becker
2006-11-03N2009=06-0079
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2134.pdf
新規色分け版
N2135 06-0205
Programming Languages −C++ Pete Becker
2006-11-06 N2134=06-0204
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2135.pdf
色分けなし版
0211デフォルトの名無しさん
2006/11/24(金) 18:16:23stringとchar_traitsのところも結構。
"文字"じゃなくてPODなら入れられる。
0212デフォルトの名無しさん
2006/11/24(金) 18:56:530213デフォルトの名無しさん
2006/11/24(金) 22:19:200214デフォルトの名無しさん
2006/11/24(金) 22:21:19これじゃ本格的に使えるのは2010年代半ばになりそうだ。
0215デフォルトの名無しさん
2006/11/28(火) 23:58:39STLも仕様決め直しだし、それよりなにより、C++はマニア向けの言語になっちゃう…
Move semantics、あれば便利なのは確かなんだけど。
0216デフォルトの名無しさん
2006/11/29(水) 01:24:100217デフォルトの名無しさん
2006/11/29(水) 01:31:43標準ライブラリに対する rvalue reference の導入は
下位互換を完全に意識した設計が提案されているので
>STLも仕様決め直しだし、
という見方は少し違うような気がします.
std::auto_ptr などは deprecated なだけで廃止されるわけでもないですし.
というよりか,現在の標準ライブラリにおける rvalue reference 対応の提案は,
(いつものことですが) 下位互換の維持のために非常に設計が汚い印象があります.
move に対応していない場合 copy に fallback する設計は,
たとえば例外送出時のときなどの仕様と動作が極めて煩雑になるのではないか,
など個人的には不満も多いです.
(この汚さは標準ライブラリにおける rvalue reference 対応がもたらす汚さで,
言語仕様として導入される rvalue reference の仕様とは独立です)
言語仕様としての rvalue reference は, move semantics の導入と同時に,
the forwarding problem と呼ばれる非常に重要な問題を同時解決しますし,
(この問題の解決も見た目に比してインパクトが極めて大きいと思います)
『便利』程度の恩恵ではなく『マニア向け』の機能でもないと思います.
今現在,そもそも rvalue reference / move semantics 自体が机上の空論ですから,
これについて今何を語っても "almost as much of a hoax as Artificial Intelligence"
でしかないですが,それを承知であえて, rvalue reference / move semantics は
OOP・汎用プログラミング・関数プログラミング・効率・リソース管理・例外安全性
スレッド安全性など,ほぼあらゆるプログラミングパラダイム・概念の全域,
あと特にこれらの概念が交錯する領域での貢献が極めて大きい,
C++0x における (C++98 以来) 最大の進化だと主張したいです.
0218デフォルトの名無しさん
2006/11/29(水) 01:42:230219デフォルトの名無しさん
2006/11/29(水) 01:48:060220デフォルトの名無しさん
2006/11/29(水) 12:59:00明暗!
0221デフォルトの名無しさん
2006/11/29(水) 16:09:120222デフォルトの名無しさん
2006/11/29(水) 17:42:23{
using namespace std;
}
0223デフォルトの名無しさん
2006/11/30(木) 08:53:290224デフォルトの名無しさん
2006/11/30(木) 13:36:58テストケース書いてもらってさ、これにパスしないと C++0x 準拠とは
名乗らせないってのはどうよ。
もうさ、これまでみたいなコンパイラ毎の ifdef 分岐の嵐はさすがにもう
勘弁して暮れって感じ
0225デフォルトの名無しさん
2006/11/30(木) 13:50:21テストケースには boost 使えばいいんじゃねーの。
mpl ができてから、それ使ってコーディングした部品も増えてるし。
0226デフォルトの名無しさん
2006/11/30(木) 14:41:25Discriminated Unions みたいに変態的すぎて
すべてのコンパイラでコンパイルが通らないなんて
ことになりそうだなw
0227デフォルトの名無しさん
2006/11/30(木) 16:22:54それぞれのコンパイラのバグでエミュレートしている
恐ろしい
0228デフォルトの名無しさん
2006/11/30(木) 16:52:46"Inside the C++ Object Model"でもいいけど、やつは既にC#の一味か…
0229デフォルトの名無しさん
2006/11/30(木) 20:58:15その熱い主張に興味がわいてきた。
rvalue ref.とmove semanticsがどういうものか、もう少し語ってはくれまいか。
0230デフォルトの名無しさん
2006/11/30(木) 23:42:40Cryoliteたん?
0231デフォルトの名無しさん
2006/12/05(火) 21:36:18>>217さんのおっしゃることには技術的に白黒の付く部分については同意です。
けど、やっぱりそうなるとC++はどんどんマイナー言語になっていくと思います。
じゃあ拡張しなければいいのかというとそういうわけでもないんですが…
C++の前に萌えた言語(システム)がCLOSである私としては切ない気持ちです。> マイナー化
0232デフォルトの名無しさん
2006/12/05(火) 22:07:300233デフォルトの名無しさん
2006/12/05(火) 22:37:14A Brief Introduction to Rvalue References
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2027.html
0234デフォルトの名無しさん
2006/12/05(火) 22:49:58よく纏まっていてわかりやすいね。
0235デフォルトの名無しさん
2006/12/06(水) 09:50:22とりあえず、Deleter 指定できる unique_ptr 使って std::move してね☆
とか言いつつ、Effective C++ で「shared_ptr 使え、以上」とか書かれそう
0236デフォルトの名無しさん
2006/12/06(水) 12:13:53一度、標準に採用されたらベンダーの独自拡張じゃないから安心して使ってねっていう
意味を暗に含むから非推奨にはなっても廃止はまずありえんだろうな。
0237デフォルトの名無しさん
2006/12/07(木) 04:52:50そこら辺のGURUな人々に無茶苦茶やらせるより先に
標準もっと仕事しやがれこんちくしょー、みたいな。
ストラスストラップのハゲの残り少ない髪の毛引き抜いて
クローンハゲを量産して、規格の策定に充てるとかすればいいんじゃないのかと思った。
0238デフォルトの名無しさん
2006/12/08(金) 18:26:39かなり大部分のライブラリに変更が必要になるし
0239デフォルトの名無しさん
2006/12/09(土) 01:08:570240デフォルトの名無しさん
2006/12/09(土) 01:15:54便利なだけじゃなくパフォーマンスゲインも5倍以上になるし
0241デフォルトの名無しさん
2006/12/09(土) 05:11:42なにその機動戦士ガンダム
0242デフォルトの名無しさん
2006/12/09(土) 09:13:34すごいぞぉ。
コンパイラの性能は5倍以上跳ね上がる。
0243デフォルトの名無しさん
2006/12/09(土) 12:42:510244デフォルトの名無しさん
2006/12/09(土) 12:56:47そのコンパイラをコンパイルするときに5倍コンパイラを使えばへっちゃらですよ
0245デフォルトの名無しさん
2006/12/09(土) 16:56:310246デフォルトの名無しさん
2006/12/09(土) 22:35:180247デフォルトの名無しさん
2006/12/10(日) 07:07:20おまえマジで頭いいな
じゃあそのコンパイラをそのコンパイラでコンパイル
したらさらに5倍早くなるんじゃね?
0248デフォルトの名無しさん
2006/12/10(日) 08:50:22お前マジ天才じゃね?
0249デフォルトの名無しさん
2006/12/10(日) 10:16:270250デフォルトの名無しさん
2006/12/10(日) 10:20:320251デフォルトの名無しさん
2006/12/10(日) 10:53:350252デフォルトの名無しさん
2006/12/10(日) 17:55:34キーワード増えるのってこれだけかな?
0253デフォルトの名無しさん
2006/12/10(日) 19:57:26コンセプトだけでも concept,concept_map,where,axiom,late_check
他にも alignof とか decltype とか constexpr とか
0254デフォルトの名無しさん
2006/12/10(日) 20:04:180255デフォルトの名無しさん
2006/12/10(日) 20:17:080256デフォルトの名無しさん
2006/12/10(日) 20:22:140257デフォルトの名無しさん
2006/12/10(日) 20:56:190258デフォルトの名無しさん
2006/12/14(木) 13:27:42型の弱い言語みたいだ
0259デフォルトの名無しさん
2006/12/14(木) 13:32:510260デフォルトの名無しさん
2006/12/14(木) 14:11:350261デフォルトの名無しさん
2006/12/14(木) 14:17:45型の弱い言語みたいだ
0262デフォルトの名無しさん
2006/12/14(木) 14:19:49型の弱(ry
0263デフォルトの名無しさん
2006/12/14(木) 19:08:590264デフォルトの名無しさん
2006/12/14(木) 20:18:580265デフォルトの名無しさん
2006/12/14(木) 20:29:55C++が弱い型付けと分類されていることを見かける。
0266デフォルトの名無しさん
2006/12/14(木) 20:44:040267デフォルトの名無しさん
2006/12/14(木) 21:48:360268デフォルトの名無しさん
2006/12/14(木) 23:04:190269デフォルトの名無しさん
2006/12/14(木) 23:12:430270デフォルトの名無しさん
2006/12/14(木) 23:31:02まさにカタ無しだね
0271デフォルトの名無しさん
2006/12/15(金) 00:04:48頭の弱い……
0272デフォルトの名無しさん
2006/12/21(木) 11:30:13ISO/IEC 14882:2003の逐語訳じゃないんですね。
省略されているところがあってびっくりしました。
13.3.1.2.3のnon-memberのところ。
0273デフォルトの名無しさん
2007/01/03(水) 19:15:16JISチームのチョンボで抜けちゃったとかじゃなくて?
そういえば、JIS X3014:2003 って買った時期によってPDFの"しおり"があったりなかったり
するらしいね。なんか以前、cppll で金返せ的なことを愚痴ってたヤツがいた。
0274デフォルトの名無しさん
2007/01/12(金) 19:40:21スレ違いか?
0275デフォルトの名無しさん
2007/01/12(金) 20:41:03ここから先 const はいらんなあ。値を変えるところと変えないところで
関数が分かれてないのは設計ミスだと思う。
0276デフォルトの名無しさん
2007/01/12(金) 22:21:490277デフォルトの名無しさん
2007/01/12(金) 22:29:270278デフォルトの名無しさん
2007/01/12(金) 23:23:420279デフォルトの名無しさん
2007/01/12(金) 23:29:21>JISチームのチョンボ
まことしやかにささやかれてるけど真実味あるなw
0280デフォルトの名無しさん
2007/01/13(土) 03:24:39あと、派遣の禁止も欲しいよなぁ。
0281デフォルトの名無しさん
2007/01/13(土) 23:29:46古い。illegal
noninheritableがどっかにあったな
0282デフォルトの名無しさん
2007/01/13(土) 23:44:570283デフォルトの名無しさん
2007/01/13(土) 23:47:380284デフォルトの名無しさん
2007/01/13(土) 23:50:06ttp://msdn2.microsoft.com/ja-jp/library/h278d2d4(VS.80).aspx
0285デフォルトの名無しさん
2007/01/13(土) 23:51:08英語的にはunが正しい。
何故nonになっているのかは不明
0286デフォルトの名無しさん
2007/01/13(土) 23:56:440287デフォルトの名無しさん
2007/01/14(日) 08:33:300288デフォルトの名無しさん
2007/01/14(日) 17:09:420289デフォルトの名無しさん
2007/01/14(日) 22:53:430290デフォルトの名無しさん
2007/01/26(金) 20:55:16右辺値参照についてここでは一言も触れていないけど、C++0xに入るんだよね?
0291デフォルトの名無しさん
2007/01/27(土) 09:21:410292wankuma
2007/01/27(土) 19:20:53http://blogs.wankuma.com/
0293デフォルトの名無しさん
2007/02/19(月) 19:49:16>we finish the document in 2009, but because ISO takes most of
>a year to approve and publish a standard, it would end up as
>"C++10" (or, one could uncomfortably imagine, "C++0a").
0294デフォルトの名無しさん
2007/02/19(月) 20:04:020295デフォルトの名無しさん
2007/02/20(火) 03:31:040296デフォルトの名無しさん
2007/02/20(火) 08:41:21スレ違い。
0297デフォルトの名無しさん
2007/02/20(火) 12:48:390298デフォルトの名無しさん
2007/03/03(土) 09:39:19auto var = v.begin();
と型推論?ぽい事ができる様になるらしいですが、
この時のvarの型は
vector<int>::iterator
になるんでしょうか それとも
vector<int>::const_iterator?
0299デフォルトの名無しさん
2007/03/03(土) 10:30:49前者なら、後者はauto const varという宣言で済むと思うが。
0300デフォルトの名無しさん
2007/03/03(土) 10:34:50cont vector<int>::iteratorになりそうな
0301デフォルトの名無しさん
2007/03/03(土) 11:14:10コンテナ側に被せればいいのかな。
0302デフォルトの名無しさん
2007/03/03(土) 11:19:200303デフォルトの名無しさん
2007/03/03(土) 11:20:36auto var = const_cast<const vector<int>&>(v).begin();
これでいいでしょ?
0304デフォルトの名無しさん
2007/03/03(土) 11:24:560305デフォルトの名無しさん
2007/03/03(土) 11:27:11それやるならstatic_castだろ。
型名書くのがめんどくさい場合はcrefじゃね?
0306デフォルトの名無しさん
2007/03/03(土) 11:28:58そんなことしてまでauto使う意味わかんね。
0307デフォルトの名無しさん
2007/03/03(土) 11:31:24そんなことまでしてconst_iteratorにする意味わかんね。
0308デフォルトの名無しさん
2007/03/03(土) 11:48:48boost::range_const_iterator<decltype(v)>::type var = v.begin();
0309デフォルトの名無しさん
2007/03/03(土) 11:57:470310デフォルトの名無しさん
2007/03/03(土) 12:03:54cbegin(), cend(), crbegin(), crend() がイイんじゃね?
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1674.pdf
最新のドラフトには載ってるから、採用されたのかな?
0311デフォルトの名無しさん
2007/03/03(土) 12:23:44template< class T >
T const &as_const( T &x )
{ return x; }
とか作って使うのではダメなん?
0312デフォルトの名無しさん
2007/03/03(土) 13:02:44#include <vector>
#include <tr1/functional>
using namespace std;
int main(void)
{
vector<int> v(10);
cout << typeid(v.begin()).name() << endl;
cout << typeid(tr1::cref(v).get().begin()).name() << endl;
return 0;
}
0313デフォルトの名無しさん
2007/03/03(土) 13:16:550314デフォルトの名無しさん
2007/03/03(土) 13:20:020315デフォルトの名無しさん
2007/03/03(土) 13:27:28get() 使うなら当然できるけれど,それなら311で良いのでは?
0316デフォルトの名無しさん
2007/03/03(土) 19:12:34(これだと、配列にもbegin(a)とか使えるし、crbegin(v)なんかもできる)
こんな人にも、autoは役に立つのかしらん?
0317デフォルトの名無しさん
2007/03/03(土) 20:28:01みたいな呼び出しができたらいいのにと思った
0318デフォルトの名無しさん
2007/03/03(土) 20:38:02の方がいいかも!?と思った
0319デフォルトの名無しさん
2007/03/03(土) 22:25:17>>300
流れよめんのか
0320デフォルトの名無しさん
2007/03/05(月) 08:00:08コンテナ側に被せればいいのかな。
0321デフォルトの名無しさん
2007/03/05(月) 09:26:00出典は、http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1865.pdf
二バージョンないケースでは、何か工夫する必要があるね。
0322デフォルトの名無しさん
2007/03/05(月) 10:13:24crend とかなにって感じー
0323デフォルトの名無しさん
2007/03/07(水) 00:05:13してから、cv.begin(), cv.end() が一番読みやすいかも
0324デフォルトの名無しさん
2007/03/07(水) 16:48:34コンパイル時に式自体
を計算・展開できるような式関数導入して欲しい。
0325デフォルトの名無しさん
2007/03/07(水) 18:43:000326デフォルトの名無しさん
2007/03/07(水) 20:01:57つまり
int a = 5+1;
は、コンパイラが
int a = 6;
としてコードを生成してくれるってことか。
inline int func(int x) { return x*2; }
int c = func(5);
をコンパイラが
int c = 10;
にしてくれるとか。
sinはコンパイラではなくコンパイル後に
リンクするライブラリにある処理だから難しいな。
LUTを作るの面倒だから判らなくもない。
0327デフォルトの名無しさん
2007/03/07(水) 20:07:410328デフォルトの名無しさん
2007/03/07(水) 20:43:12少なくとも 5+1 を 6 にするほうは、コンパイラは必ずやらなければならない(must)と
規定されている。インライン関数のほうもほとんどのコンパイラがやると思う。
0329デフォルトの名無しさん
2007/03/07(水) 23:01:370330デフォルトの名無しさん
2007/03/07(水) 23:04:590331デフォルトの名無しさん
2007/03/07(水) 23:15:430332デフォルトの名無しさん
2007/03/07(水) 23:26:01いっそのことプログラムの実行そのものをコンパイル時と実行時で分けて、
コンパイル時実行ではインタプリタ型で動いて、コンパイル時変数にのみアクセス可能で
JavaScriptばりにクラスのメンバ関数の追加や削除、関数の構成、evalができて、とか。
0333デフォルトの名無しさん
2007/03/07(水) 23:29:130334324
2007/03/08(木) 00:03:20my_tan:=my_sin/my_cos;
という関係を作っておく。
my_sin(x)/my_cos(x)という式を使ったときは左記の関数はCallされずに
my_tan(x)がCallされて計算されるといった感じのもの。
//いいかげんなmy_sinの例
template <typename T> T my_sin(T x)
where Type(T,Re) //T:実数
{
calc{return x(1-x*x/6);}//計算値
expr(T a){my_sin(a);}//計算式
}
0335デフォルトの名無しさん
2007/03/08(木) 00:05:300336デフォルトの名無しさん
2007/03/08(木) 00:40:010337デフォルトの名無しさん
2007/03/08(木) 01:35:03コンセプト今まで知らなかったけれど、かなりよさそう。
コンパイル時間が気になるけれど。
0338デフォルトの名無しさん
2007/03/08(木) 09:01:29↓
Cでもtemplateできるようにする。
0339デフォルトの名無しさん
2007/03/08(木) 09:50:310340デフォルトの名無しさん
2007/03/08(木) 11:46:160341デフォルトの名無しさん
2007/03/08(木) 16:12:16「バカヤロウ、まだ始まってもいねえよ。」
0342デフォルトの名無しさん
2007/03/08(木) 16:34:100343デフォルトの名無しさん
2007/03/08(木) 16:35:460344デフォルトの名無しさん
2007/03/08(木) 18:25:58再帰はできないわ,まともな制御構文はないわ,で良ければ一応
C++0x に向けて active に動いているっぽい提案
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2116.pdf
いずれにしろ,元々が traits などに使われるのを想定した提案ですので非力極まりない
もっと抜本的な提案なら
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1471.pdf
ですけれど,こちらは C++0x には間に合わない様子
0345デフォルトの名無しさん
2007/03/14(水) 20:34:060346デフォルトの名無しさん
2007/03/15(木) 00:49:430347デフォルトの名無しさん
2007/03/15(木) 23:22:400348デフォルトの名無しさん
2007/03/16(金) 00:23:13→ 0x201C
いや、わかっているよ、こう解釈されないことくらい。
0349デフォルトの名無しさん
2007/03/16(金) 15:02:288208www
0350デフォルトの名無しさん
2007/03/26(月) 18:39:260351デフォルトの名無しさん
2007/03/28(水) 02:06:06こんな展開が可能だったり、
---
template<typename...> struct Tuple {};
template<typename T1, typename T2> struct Pair {};
template<typename... Args1> struct zip {
template<typename... Args2> struct with {
typedef Tuple<Pair<Args1, Args2>...> type;
};
};
typedef zip<short, int>::with<unsigned short, unsigned>::type T1; // T1 is Tuple<Pair<short, unsigned short>, Pair<int, unsigned> >
---
これで任意引数個の perfect forwarding function になったり(rvalue reference利用)
---
template<typename T>
struct allocator {
template<typename... Args>
void construct(T* ptr, Args&&... args) { new (ptr)(static cast<Args&&>(args)...); }
};
---
Variadic Templates の概要は↓がわかりやすい
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2080.pdf
↓は規格の変更点について
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2152.pdf
GCC 4.3 の experimental c++0x mode で、また ConceptGCC では >217 で机上の空論と書かれていた rvalue reference、さらに decltype とともに実装されたそうで。
http://conceptgcc.wordpress.com/2007/02/15/decltype-and-rvalue-references-and-variadic-templates-oh-my/
おまいらもヒトバシラーしてみませんか?
0352デフォルトの名無しさん
2007/03/28(水) 08:47:260353デフォルトの名無しさん
2007/04/01(日) 22:08:44何か具体的な懸念が?
提案者自身は
>Variadic templates seem to be moving smoothly,
と言ってるけどね。
ttp://conceptgcc.wordpress.com/2007/02/15/decltype-and-rvalue-references-and-variadic-templates-oh-my/#comment-131
0354デフォルトの名無しさん
2007/04/12(木) 07:04:47によれば、template aliases が入ることになっているなあ。嬉しい。
0355デフォルトの名無しさん
2007/04/16(月) 20:57:47そういうのはないんかな
0356デフォルトの名無しさん
2007/04/16(月) 21:18:550357デフォルトの名無しさん
2007/04/16(月) 21:21:15マングルされてたりいろいろ面倒だけど。
0358デフォルトの名無しさん
2007/04/16(月) 22:08:340359デフォルトの名無しさん
2007/04/16(月) 22:13:47という事だけだからな
リフレクションのような事は正直無理
0360デフォルトの名無しさん
2007/04/27(金) 00:24:43ttp://conceptgcc.wordpress.com/2007/04/24/variadic-templates-are-in-c0x/
だそうな。
0361デフォルトの名無しさん
2007/04/27(金) 07:28:21機能的にはC++0xに入る必然性があるけれど、
さらにデバックしにくくなりそう…
variadic templatesを直接使う人じゃなくて、
variadic templatesが使われたlibraryを使う人ね。
エラーメッセージがさらにハナモゲラ化w
0362デフォルトの名無しさん
2007/04/27(金) 12:49:13現状でも Boost.Function とか Boost.Variant とか
BOOST__PP_* で T0,T1,T2,... を生成してるやつは
エラーメッセージがハナモゲラ化してるわけで
その部分が T0... みたいに可変長ぽく省略表示されるだけで
だいぶ見やすくなると思うんだが
0363デフォルトの名無しさん
2007/05/14(月) 14:22:200364デフォルトの名無しさん
2007/05/14(月) 14:24:150365デフォルトの名無しさん
2007/05/28(月) 01:09:300366デフォルトの名無しさん
2007/05/31(木) 00:47:250367デフォルトの名無しさん
2007/05/31(木) 01:59:00実装にはC++の機能が必要というトンデモ言語
0368デフォルトの名無しさん
2007/05/31(木) 03:13:420369デフォルトの名無しさん
2007/05/31(木) 06:35:410370デフォルトの名無しさん
2007/05/31(木) 06:43:510371デフォルトの名無しさん
2007/05/31(木) 06:56:080372デフォルトの名無しさん
2007/05/31(木) 07:09:44New Language Features Voted Into (Draft) C++09
・Template aliases (aka typedef templates, generalized typedefs) [N2258]
・Variadic templates (aka "type varargs" for templates) [N2242; see N2087 for a more readable description and rationale]
・Unicode characters and strings [N2249]
・Rvalue references [N1952]
0373デフォルトの名無しさん
2007/05/31(木) 16:54:12とうとうC++の世界でも明示的にユニコード文字列が扱えるようになるのか。
0374デフォルトの名無しさん
2007/05/31(木) 17:46:31(当然整数型とwchar_tのようにtypedefではない)という扱いになるんだろうなと思う。
0375デフォルトの名無しさん
2007/05/31(木) 19:57:46ttp://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html
そのうちstd::u16stringとかstd::u32stringとかもできるんだろか
0376373
2007/06/01(金) 00:57:020377デフォルトの名無しさん
2007/06/01(金) 01:12:110378デフォルトの名無しさん
2007/06/01(金) 01:36:05wchar_t wc = L'あ'; // wcの値は実装依存 (今と同じ)
char16_t c16 = u'あ'; // c16は0x3042
char32_t c32 = U'あ'; // c32は0x00003042
0379デフォルトの名無しさん
2007/06/01(金) 01:39:40UTF-16BE と UTF-16LE (32も)の選択は環境依存?
0380デフォルトの名無しさん
2007/06/01(金) 01:40:47実用上面倒くさい事になりそうな気はするが。
0381デフォルトの名無しさん
2007/06/01(金) 01:44:07してほしい気もする
0382デフォルトの名無しさん
2007/06/01(金) 08:22:04UTF-8は、
・ソースコードで使って、処理系が変換。例えばU'A'などを。(規格外)
・今後Unicode系mbsライブラリが充実させる。
って感じなんじゃないの?
0383デフォルトの名無しさん
2007/06/01(金) 08:22:49もう規格の外に出ることはないでしょ。修正が入るだけで。
0384デフォルトの名無しさん
2007/06/01(金) 08:35:43書いてあるけど、charはビット数を保証してないよなあ
0385デフォルトの名無しさん
2007/06/01(金) 09:07:210386デフォルトの名無しさん
2007/06/01(金) 09:09:300387デフォルトの名無しさん
2007/06/01(金) 13:30:210388デフォルトの名無しさん
2007/06/01(金) 15:19:520389デフォルトの名無しさん
2007/06/01(金) 16:02:57Unicode依存コードじゃなければ、wchar_t推奨でしょ。
>>384
char8_tのドラフトを書けw
0390デフォルトの名無しさん
2007/06/01(金) 16:43:08つuint_least8_t
ちなみにchar16/32_tはそれぞれuint_least16/32_tと同じ大きさと規定される>>375
0391デフォルトの名無しさん
2007/06/01(金) 17:00:040392デフォルトの名無しさん
2007/06/01(金) 17:05:18何年か経ってもUnicodeでないOSが残ってるかどうかw
0393デフォルトの名無しさん
2007/06/01(金) 17:14:120394デフォルトの名無しさん
2007/06/01(金) 17:43:000395デフォルトの名無しさん
2007/06/01(金) 18:46:060396デフォルトの名無しさん
2007/06/01(金) 20:20:040397デフォルトの名無しさん
2007/06/01(金) 20:53:500398デフォルトの名無しさん
2007/06/01(金) 21:14:54別に 9 だろうが 16 だろうが問題ないが、7 とかはない。
0399デフォルトの名無しさん
2007/06/02(土) 11:33:29世の中のプログラマのほとんどが
>どうせウニコードなんか窓しか使わないのにイラネ
と思っていたはずなのに
>LinuxもUTF-8なご時世になんて寝言を……
になってしまったのはいつから?なぜ?
0400デフォルトの名無しさん
2007/06/02(土) 11:43:17いつからかは知らんが、そうでもせんとまともな国際化対応できんだろうが。
0401デフォルトの名無しさん
2007/06/02(土) 11:44:01今も昔もUnicode onlyは早計すぎると思っているだけ。
なんだかんだ言ってもUnicode周辺には、
"Technical Notes", "Technical Reports"その他に、
ノウハウがたまってきているので、強力にサポートすべき。
wchar_tの実装をUnicode onlyにするなんてのには大反対。
n2249はGJ。
0402デフォルトの名無しさん
2007/06/02(土) 11:55:150403デフォルトの名無しさん
2007/06/02(土) 12:29:480404デフォルトの名無しさん
2007/06/02(土) 13:10:560405デフォルトの名無しさん
2007/06/02(土) 13:31:23Windows のは WCHAR であってその実装は wchar_t とは限らず unsigned short int の場合なんかもある。
0406デフォルトの名無しさん
2007/06/02(土) 13:41:470407デフォルトの名無しさん
2007/06/02(土) 15:39:01http://msdn2.microsoft.com/en-us/library/ms646288.aspx
0408デフォルトの名無しさん
2007/06/02(土) 18:51:20is系とかprintfとかfacetとか、結構ありそうだが。
0409デフォルトの名無しさん
2007/06/02(土) 19:15:390410デフォルトの名無しさん
2007/06/02(土) 19:44:42ttp://www2.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2238.html
あとUTF-8の案もあった
今のところWDには含められていないけど
ttp://www2.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2209.html
プリフィックスは E で、1バイト8ビット以上を保証すると
0411デフォルトの名無しさん
2007/06/02(土) 21:41:23>that there is a real need for
う〜ん…8bit圏の人にとっちゃそうかもしれんけどさ。
0412デフォルトの名無しさん
2007/06/02(土) 22:39:06Primitive typeとして導入されたわけだから、
いろいろ実装してみるための最低限のことは決まるわけだからさ。
typedefやマクロに比べて出きることが多すぎるから、慎重になるんでしょ。
0413デフォルトの名無しさん
2007/06/02(土) 22:59:52デフォで UTF-16 が扱えるなら
そういう意味であちらさんにも価値はあるように思うんだけどな。
0414デフォルトの名無しさん
2007/06/02(土) 23:14:120415デフォルトの名無しさん
2007/06/03(日) 00:28:53意味が分からない。
どれに対するレス?
0416デフォルトの名無しさん
2007/06/03(日) 00:29:100417デフォルトの名無しさん
2007/06/03(日) 00:29:51>>411
0418デフォルトの名無しさん
2007/06/03(日) 00:35:57現状のワイド文字ストリームのようにマルチバイトに/へ変換するようなもんだと思ったんだが
0419デフォルトの名無しさん
2007/06/03(日) 00:35:590420デフォルトの名無しさん
2007/06/03(日) 00:37:380421デフォルトの名無しさん
2007/06/03(日) 00:46:50wifstream, wcin辺りができたばかりだし、
char16_tなら、ほとんどの処理系は(sizeof(wchar_t)>2だろうから )codecvtでなんとかなるし、
char16ifstreamとかchar16cinとか乱発する前に、ちょっと考えてみるだけでしょ。
急いで、うんこライブラリを標準に入れるわけにいかないし。
0422デフォルトの名無しさん
2007/06/03(日) 00:56:230423デフォルトの名無しさん
2007/06/03(日) 01:00:45現在ではプラットフォーム依存。たとえば Cygwin の wchar_t は2バイト。
あと、-fshort-wchar なんてオプションもあるので、gccだからという判定は危険。
0424デフォルトの名無しさん
2007/06/03(日) 01:27:10typedef char16_t wchar_t か、typedef char32_t wchar_t で、
wchar_tなライブラリも使えるし、char*_tなライブラリも構築していけるし、
とりえあえずは問題ないんじゃない?
>>423
utf-32が扱える処理系では、
wchar_tが2 byteだと規格違反だけどね。
>Type wchar_t is a distinct type whose values can represent distinct codes for all members
>of the largest extended character set specified among the supported locales (22.1.1).
0425デフォルトの名無しさん
2007/06/03(日) 01:32:300426デフォルトの名無しさん
2007/06/03(日) 02:03:020427デフォルトの名無しさん
2007/06/03(日) 02:10:30*BSDやSolarisのi18nフレームワークがそうなんじゃないの?
0428デフォルトの名無しさん
2007/06/03(日) 04:26:58http://gcc.gnu.org/gcc-4.3/cxx0x_status.html
0429デフォルトの名無しさん
2007/06/03(日) 04:55:14ワクワクテカテカしつつDLしてregexを見てみた。
@todo Implement this function.
@todo Document this function.
だらけだった。
0430デフォルトの名無しさん
2007/06/03(日) 05:36:100431デフォルトの名無しさん
2007/06/04(月) 22:53:08Cの_s系関数はフライングで取り入れたんだから。
0432デフォルトの名無しさん
2007/06/05(火) 01:37:14C++/CLIは後方互換性だけなんだろうし。
0433デフォルトの名無しさん
2007/06/05(火) 22:01:360434デフォルトの名無しさん
2007/06/05(火) 23:26:190435デフォルトの名無しさん
2007/06/06(水) 01:57:380436デフォルトの名無しさん
2007/06/06(水) 10:51:130437デフォルトの名無しさん
2007/06/06(水) 12:41:130438デフォルトの名無しさん
2007/06/06(水) 13:20:540439デフォルトの名無しさん
2007/06/06(水) 14:47:480440デフォルトの名無しさん
2007/06/06(水) 16:22:240441デフォルトの名無しさん
2007/06/06(水) 16:54:37まあでもC++0xに全く無関心でない様子は伺える
http://blogs.msdn.com/vcblog/archive/2007/06/04/update-on-the-c-0x-language-standard.aspx
0442デフォルトの名無しさん
2007/06/06(水) 17:40:42VC++はC++/CLIオンリーじゃないし。
0443デフォルトの名無しさん
2007/06/06(水) 17:56:40int m;
};
sizeof(S::m)
これが規格外だったなんて知らなかった。
そういえばこれは合法になるのかな?
template < typename T >
class Foo
{
friend T ;
}
0444デフォルトの名無しさん
2007/06/06(水) 18:38:36nondirivableかなんかで話題にあがったが、確か違法だったと思う
0445デフォルトの名無しさん
2007/06/06(水) 18:48:080446デフォルトの名無しさん
2007/06/06(水) 22:03:04http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
0447デフォルトの名無しさん
2007/06/07(木) 03:54:58マジ意味不明
しかもなまじ役に立ちそうなのが一層もどかしさを増幅させる
0448デフォルトの名無しさん
2007/06/07(木) 05:25:030449デフォルトの名無しさん
2007/06/08(金) 12:09:520450デフォルトの名無しさん
2007/06/17(日) 22:03:19どうにかならんのかね。
short charとか、long charとかの方が自然だ
ろうし、文法上追加の余地はあるだろうに。
0451デフォルトの名無しさん
2007/06/17(日) 22:07:280452デフォルトの名無しさん
2007/06/17(日) 22:57:31少なくとも極自然なネーミングなんだがね。
これが極自然なネーミングだとお前が思えないなら
それはお前が勉強不足で且つ経験不足なお子ちゃまってだけな話だ。
0453デフォルトの名無しさん
2007/06/17(日) 22:58:22そんな既存のソースコードと衝突しそうな新しい予約語は却下
0454デフォルトの名無しさん
2007/06/17(日) 23:00:08えーい、いっそのことソースコードもUTF8強制して
文字 str = L"こんちには世界";
って書けるようにしようぜ?
0455デフォルトの名無しさん
2007/06/17(日) 23:23:48単にwcharという名前になっていたとは思う
0456デフォルトの名無しさん
2007/06/17(日) 23:30:08俺はむしろいっそのこと、int_t, double_t, char_t てなネーミングで
統一されてたほうがよかったんじゃねぇかとすら思うけどなぁ。
0457デフォルトの名無しさん
2007/06/17(日) 23:34:210458デフォルトの名無しさん
2007/06/17(日) 23:37:11UTF-16かUTF-32かはたまたUTF-8かなんてことが処理系定義になりそうだw
0459デフォルトの名無しさん
2007/06/17(日) 23:39:230460デフォルトの名無しさん
2007/06/18(月) 08:27:410461デフォルトの名無しさん
2007/06/18(月) 08:36:17UTF-8はmbs、つまりchar[]だろ。
0462デフォルトの名無しさん
2007/06/18(月) 22:47:59確かに、2Byte=WORDという意味でword char
をwcharとするなら、別に構わないが、wchat_tと
書くと、いかにも規格外で後からつけました感が
あって、気に入らんのだがねぇ。それより、
shortやlongといった元からあり、且つwordの様に
変数のサイズを2Byteとか具体的に意識させない型の方が、
自然な感じがするんだけどねぇ。
0463デフォルトの名無しさん
2007/06/18(月) 22:50:57_Boolとかunorderd_mapとかダサすぎるし
0464デフォルトの名無しさん
2007/06/18(月) 23:10:05基本的には同感。(今さらしょうがないけど)
0465デフォルトの名無しさん
2007/06/18(月) 23:10:16なんて文法を導入しちゃう言語に対していまさらだな・・・
0466デフォルトの名無しさん
2007/06/18(月) 23:25:01wchar_tのwは、wideでは?
0467デフォルトの名無しさん
2007/06/18(月) 23:47:46昔、整数型のshort (int) - int - long (int)からの連想で、
浮動小数点数型も、short float - float - long floatにすれば良かったのにと考えたことがあった
0468デフォルトの名無しさん
2007/06/19(火) 00:32:15まあ、long doubleは今でも省略不可だけどサ。
0469デフォルトの名無しさん
2007/06/19(火) 01:35:30C++では予約語だが、Cではそうではない。
0470デフォルトの名無しさん
2007/06/19(火) 01:41:380471デフォルトの名無しさん
2007/06/19(火) 02:37:05俺の国では2バイトはhalf wordなんだな
0472デフォルトの名無しさん
2007/06/19(火) 02:40:36科学計算やってると word = 8 バイト(double)なことも多いんだがな。
0473デフォルトの名無しさん
2007/06/19(火) 04:43:21本当にモロ、
>それはお前が勉強不足で且つ経験不足なお子ちゃまってだけな話だ。
で、ワロスwww
0474デフォルトの名無しさん
2007/06/19(火) 20:23:00そうだね勉強するよ。
そういえば、1語長2語長なんて言葉もあったね。(敢えて言うが、
勿論1語長が1Byteなどと思っているわけではない。)
MSのAPIの影響(DWORDとかQWORDとか)でWORDを2byteと仮定して書いてしまった。
あと、wchar_tはwide charなのにword charと書いたのは、素で間違えた。
それはそうと、C++0xが実現するとObjective-C++やC++/CLIはどうなるんだ
ろうねぇ。三者三様の完全別言語路線に進むのか?0xに合わせてそれぞれ拡張
するのはは厳しい気がするが。実装的に。
0477デフォルトの名無しさん
2007/06/19(火) 20:30:020478デフォルトの名無しさん
2007/06/19(火) 22:43:01なんかまだ少し勘違いしてそうだから、念のために書いておくと
必ずしも sizeof(wchar_t)==2 じゃないぞ。 sizeof(wchar_t)==4 な環境・処理系もある。
まぁ、あんまり気を落とすな。
0479デフォルトの名無しさん
2007/06/19(火) 22:58:220480デフォルトの名無しさん
2007/06/19(火) 23:51:090481デフォルトの名無しさん
2007/06/20(水) 02:58:24C++/CLIは、WG21の中のマイクロソフトの人がどうするかにかかっていると思う。
しかし純然たる研究者だったはずの二人が、
どうしてC++/CLIに必死なのか良くワカランネ。
契約になんか書かれているのかな。
0482デフォルトの名無しさん
2007/06/20(水) 08:40:010483デフォルトの名無しさん
2007/06/21(木) 22:32:37cygwin 上だと gcc でも 2。
0484デフォルトの名無しさん
2007/06/22(金) 01:24:22亡くなって当然w
0485デフォルトの名無しさん
2007/06/22(金) 01:24:48Objective-C++ という Obj-C の C++ 拡張が存在する
C++/CLI はどうせコンパイラの開発部分は共通だから強引に組み込むでしょ
直接ぶつかるところは少ないし、そもそも普及に至っては・・・
0486デフォルトの名無しさん
2007/06/22(金) 01:44:27「組み込む」対象は何なんだ?
0487デフォルトの名無しさん
2007/06/22(金) 22:10:110488デフォルトの名無しさん
2007/06/23(土) 10:46:35メジャー番号が変わるまで延々放置って事がよくある。
スイッチで切り替えて、細心の規格に追従した動作になるってこともあまりない。
0489デフォルトの名無しさん
2007/06/24(日) 21:02:050490デフォルトの名無しさん
2007/06/25(月) 06:03:520491デフォルトの名無しさん
2007/06/25(月) 09:41:110492デフォルトの名無しさん
2007/06/25(月) 13:37:16天才のお前が傍観者だからだよ
0493デフォルトの名無しさん
2007/06/25(月) 17:37:29iostreamだって今になってみれば、設計し直したいところ多数。
0494デフォルトの名無しさん
2007/06/25(月) 19:56:26ObjC++はコンパイラがC++のバージョン選べるようにしてくれるでしょ。
0495デフォルトの名無しさん
2007/06/26(火) 03:02:50News 2007-06-25: The C++ Standard Library Issues List (Revision 49) is available
今までC++相談室に貼ってた JTC1/SC22/WG21 の更新情報は
今回からこっちに貼ることにしました。
0496デフォルトの名無しさん
2007/06/26(火) 03:12:13の方が魚の骨っぽくて好き
0497デフォルトの名無しさん
2007/06/26(火) 13:38:120498デフォルトの名無しさん
2007/06/26(火) 17:06:100499デフォルトの名無しさん
2007/06/26(火) 17:57:38時々思うわけさね。
0500デフォルトの名無しさん
2007/06/26(火) 18:18:060501デフォルトの名無しさん
2007/06/26(火) 22:21:290502デフォルトの名無しさん
2007/06/26(火) 22:24:570503デフォルトの名無しさん
2007/06/26(火) 22:31:000504デフォルトの名無しさん
2007/06/26(火) 23:26:45最近あんま進展ないし、また議論不足で vector<bool> とか auto_ptr みたいな
半端者が生まれちまうぜ
0505デフォルトの名無しさん
2007/06/26(火) 23:27:570506デフォルトの名無しさん
2007/06/27(水) 03:44:260507デフォルトの名無しさん
2007/06/27(水) 09:25:40あのALGOL系とCOBOLを無理矢理繋げたような変態言語と比べられても…
…いや、的確か
0508デフォルトの名無しさん
2007/06/27(水) 09:29:07本当に何でもできる言語なんだぞー
あ、でも糞言語だったけどね
消えたし
0509デフォルトの名無しさん
2007/06/27(水) 09:58:550510デフォルトの名無しさん
2007/06/27(水) 10:33:280511デフォルトの名無しさん
2007/06/27(水) 22:21:530512デフォルトの名無しさん
2007/06/27(水) 22:24:430513デフォルトの名無しさん
2007/06/27(水) 22:27:550514デフォルトの名無しさん
2007/06/27(水) 22:30:20それらがあんまり無かった時代になんであんなに流行ったのかがいまいちよく分からない
0515デフォルトの名無しさん
2007/06/27(水) 22:33:480516デフォルトの名無しさん
2007/06/27(水) 23:05:19JavaやLL言語のようなものはあっただろうか?
LISPやSmalltalkの影響はもっと大きかっただろうか?
0517デフォルトの名無しさん
2007/06/27(水) 23:09:41普通にあったんじゃない?
0518デフォルトの名無しさん
2007/06/27(水) 23:18:46C++の影響は計り知れない
0519デフォルトの名無しさん
2007/06/28(木) 01:15:28Modula-3, Oberon, CLU, Argus, Effiel, Ada 9X, Delhpi, Smalltalkあたりが軒並死亡宣告。
NEXTSTEP, Display PostscriptのおかげでObjective-Cが生き残っている程度だった。
0520デフォルトの名無しさん
2007/06/28(木) 01:34:50//まあマイナー言語の生成消滅は常に起きてるだろうけど。
0521デフォルトの名無しさん
2007/06/28(木) 09:02:38死んでないのもいくつかあるし。
要はC++が広まりすぎて、他の言語が相対的に影が薄くなったって
ことだと思う。
0522デフォルトの名無しさん
2007/06/28(木) 09:09:11こんなに人材が集まったことは今だかつてないんじゃないか?
C++に関して言えば、マクロ(特殊化当たり前)由来のtemplateが決定打だったな。
0523デフォルトの名無しさん
2007/06/28(木) 12:08:120524デフォルトの名無しさん
2007/06/28(木) 12:11:460525デフォルトの名無しさん
2007/06/28(木) 14:00:510526デフォルトの名無しさん
2007/06/28(木) 14:14:360527デフォルトの名無しさん
2007/06/28(木) 17:52:57C++がひろがってたのはtemplate以前からだけどね。
TMPがはいって地獄がより強固になった。
0528デフォルトの名無しさん
2007/06/28(木) 20:02:220529デフォルトの名無しさん
2007/06/28(木) 21:26:080530デフォルトの名無しさん
2007/06/28(木) 21:38:390531デフォルトの名無しさん
2007/06/28(木) 22:21:08ネイティブコードの力こそ人類の夢だからだ
0532デフォルトの名無しさん
2007/06/28(木) 22:22:000533デフォルトの名無しさん
2007/06/28(木) 22:50:37C++の強さにして弱み。
0534デフォルトの名無しさん
2007/06/28(木) 22:52:360535デフォルトの名無しさん
2007/06/29(金) 00:03:580536デフォルトの名無しさん
2007/06/29(金) 23:28:160537デフォルトの名無しさん
2007/06/29(金) 23:32:380538デフォルトの名無しさん
2007/06/30(土) 19:25:36アスペクト志向取り入れないかな
0539デフォルトの名無しさん
2007/06/30(土) 19:46:15でも委員会で GC の話してるみたいよ?
0540デフォルトの名無しさん
2007/06/30(土) 20:31:260541デフォルトの名無しさん
2007/06/30(土) 20:32:07GC なしで組めるモードもあるんだよね?
0542デフォルトの名無しさん
2007/06/30(土) 21:19:390543デフォルトの名無しさん
2007/06/30(土) 21:37:25>GC なしで組めるモードもあるんだよね?
C++(0x)的にほぼ採用のための必須条件とおもわれ
0544デフォルトの名無しさん
2007/06/30(土) 22:30:57だいたいのところは取り込まれてるみたい。
0545デフォルトの名無しさん
2007/07/01(日) 11:32:07News 2007-06-30: The 2007-06-pre-Toronto mailing is available
0546デフォルトの名無しさん
2007/07/01(日) 11:33:18えーーー!
いくらなんでもそれは無くね?
0547546
2007/07/01(日) 11:34:11「GCなしでも組める」事が必須条件なのね
ごめんなさい
0548デフォルトの名無しさん
2007/07/01(日) 11:51:160549デフォルトの名無しさん
2007/07/01(日) 11:53:340550デフォルトの名無しさん
2007/07/01(日) 11:57:17例えばアロケータを差し替えるだけでとかそういうので
0551デフォルトの名無しさん
2007/07/01(日) 12:00:520552デフォルトの名無しさん
2007/07/01(日) 12:02:25現行の C++ でも delete はほとんど auto_ptr や shared_ptr 任せで
コードには無いだろ。
0553デフォルトの名無しさん
2007/07/01(日) 12:03:19ではauto_ptrやshared_ptrについてどうお考えでしょうか?
0554デフォルトの名無しさん
2007/07/01(日) 12:05:59GCも同様に削除子が指定できれるならば生成子と対照が簡単に取れるから問題なし
0555デフォルトの名無しさん
2007/07/01(日) 12:07:50まさかソースコード上の対照性を言っているのかと思って心配になった。
0556デフォルトの名無しさん
2007/07/01(日) 12:11:55メモリ管理専用にしないと GC によるメリットなんて得られないんじゃない?
削除子なんか入れたら実行タイミングに完全な規格を定義しないといけないでしょ。
0557556
2007/07/01(日) 12:16:45あんまりはっきりしたこともいえないんで、スルー推奨。
0558デフォルトの名無しさん
2007/07/01(日) 12:17:46GCありの場合でも自動変数がスコープ抜けた時とかにデストラクタは呼ばれるの?
その場合、そのクラスがフリーストアへのポインタを持っていた場合、
クラスのインスタンス自体は破棄されるけど、参照されていたメモリは
GCの場合はすぐに回収されないってことになるの?
0559デフォルトの名無しさん
2007/07/01(日) 12:21:51当方C++/CLIのイメージが強いもんで、C++0xでどうなるのかわからないんだけどさ。
^とgcnewみたいなものじゃまずいのかなぁ。
0560デフォルトの名無しさん
2007/07/01(日) 12:38:43int a[] = new int[10];
int *b = new int[10];
みたいに確保したときって
delete a;
delete a[];
delete b;
delete b[];
それぞれ解放の仕方で動作おかしくなりますか?
0561デフォルトの名無しさん
2007/07/01(日) 12:45:190562デフォルトの名無しさん
2007/07/01(日) 15:35:28とりあえず Effective C++ でも買ってこい
0563デフォルトの名無しさん
2007/07/01(日) 23:47:23今回はいつもよりちと早めだね
小技系だが、N2332 がはげしく欲しい
0564デフォルトの名無しさん
2007/07/02(月) 07:35:17http://gradeup.blog39.fc2.com/blog-entry-31.html
0565デフォルトの名無しさん
2007/07/02(月) 09:24:380566デフォルトの名無しさん
2007/07/02(月) 12:50:56make_*関数が要らなくなるのは確かに便利だな。
0567デフォルトの名無しさん
2007/08/07(火) 08:31:37そういう契約なのかな…
0568デフォルトの名無しさん
2007/08/09(木) 21:18:40# ISO/IEC 14882: Programming Language C++ - draft
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2315.pdf
0569デフォルトの名無しさん
2007/08/09(木) 21:27:040570デフォルトの名無しさん
2007/08/09(木) 22:45:56こいつかな?
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2369.pdf
0571デフォルトの名無しさん
2007/08/09(木) 22:49:14今月分のもろもろ。
ttp://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/#mailing2007-08
0572デフォルトの名無しさん
2007/08/09(木) 23:50:33あと alignas, alignof, constexpr も追加。
そして、char16_t, char32_t も追加? 色は変わってないけど。
constexpr は D のコンパイル時実行みたいなもんか。
メタプロの世界がまた1つ広がりそうだな。
alignas と alignof は構造体のアラインメント関連か。
alignas で指定して、alignof で取得する、といったところか。
char16_t と char32_t は UTF-16 と UTF-32 用の char だっけ?
何か前に話題に出てたよね。
0573デフォルトの名無しさん
2007/08/10(金) 00:01:26こんなんがあと二年でまとまるんだろうか
0574デフォルトの名無しさん
2007/08/10(金) 00:10:120575デフォルトの名無しさん
2007/08/10(金) 06:15:42News 2007-08-09: The 2007-08-post-Toronto mailing is available
News 2007-08-09: C++ Standard Core Language Issues List (Revision 49) is available
News 2007-08-09: The C++ Standard Library Issues List (Revision 50) is available
0576デフォルトの名無しさん
2007/08/10(金) 09:46:56気になって仕方がない。
0577デフォルトの名無しさん
2007/08/11(土) 06:43:14= default はデフォルトで作られるメンバ関数を非 inline 化するためのもの・・・でいいのか?
いまいち使い道が分からんが。
= delete は関数を使えなくする・・・でいいのか?
こっちはまあ使い道あるだろうけど、
10.3p14 を見るに、基底クラスのメンバを殺すのには使えんのか?
0578デフォルトの名無しさん
2007/08/11(土) 08:08:25もう予約語の使いまわしはやめてくれぇぇぇぇぇぇぇ
=0ですらキモすぎるのに=deleteとか=defaultとか
0579デフォルトの名無しさん
2007/08/11(土) 08:13:200580デフォルトの名無しさん
2007/08/11(土) 08:41:360581デフォルトの名無しさん
2007/08/11(土) 08:47:170582デフォルトの名無しさん
2007/08/11(土) 08:51:54穢れに触れて、それでも尚純粋であることの方が素晴らしい。
0583デフォルトの名無しさん
2007/08/11(土) 09:01:360584デフォルトの名無しさん
2007/08/11(土) 09:23:040585デフォルトの名無しさん
2007/08/11(土) 09:24:110586デフォルトの名無しさん
2007/08/11(土) 09:34:31やっぱ constexpr の影響?
0587デフォルトの名無しさん
2007/08/23(木) 18:52:57デフォルトのコピーコンストラクタはビットコピーする。
だから、単純なコピーで済むクラスなら書かなくていい。
しかし宣言すら存在しないのは、
プログラマがクラスのコピーについて何も言及していないようで、
必要がなくて書かなかったのか、書き忘れてるのか分からない。
じゃあコメントで言及?
それは美学がない。
そういう訳で、=defaultを使う。
0588デフォルトの名無しさん
2007/08/23(木) 19:01:100589デフォルトの名無しさん
2007/08/23(木) 19:02:330590デフォルトの名無しさん
2007/08/23(木) 19:04:070591デフォルトの名無しさん
2007/08/23(木) 19:17:14関数の中身にタグジャンプとかすれば大して気にならんと思うけど
0592デフォルトの名無しさん
2007/08/23(木) 19:22:48現役言語でそんなことやってるのC++だけだぜ
存在することのメリットが一つもない
0593デフォルトの名無しさん
2007/08/23(木) 19:38:14というのが委員会の非公式な見解(うそ)
0594デフォルトの名無しさん
2007/08/23(木) 19:47:390595デフォルトの名無しさん
2007/08/23(木) 19:49:23全部テンプレートで解決
0596デフォルトの名無しさん
2007/08/23(木) 19:52:47= default は inline 化されないと書いてあるんだけど、
inline と = default の同時指定とかできるのかな?
同時指定できるならその目的に使えるとは思うけど。
0597デフォルトの名無しさん
2007/08/23(木) 20:01:59宣言は明示的だけど、実装はdefaultってのが、= defaultだから、
勝手にinline宣言したことにもしないって流儀じゃないかな。
0598デフォルトの名無しさん
2007/08/23(木) 20:33:39仕組みが前提だから.hが必要なんだろ
誰がこんなアホな仕組みにしたんだ
0599デフォルトの名無しさん
2007/08/23(木) 21:31:34なるほど。それなら使い道あるやね。
protected にするとか使えそう。
0600デフォルトの名無しさん
2007/08/23(木) 22:13:27それは別に問題ないよ。
.hを自動生成すればいいだけの話。
Javaは.classが.o(.obj)と.hを兼ねているけど、
あれはbyte codeだから.oサイドも共通にできる。
C++で.cpp, .h, .oに分かれているのは自然。
0601デフォルトの名無しさん
2007/08/23(木) 22:15:030602デフォルトの名無しさん
2007/08/23(木) 22:25:43再コンパイルされちまうぞ
0603デフォルトの名無しさん
2007/08/23(木) 22:31:540604デフォルトの名無しさん
2007/08/23(木) 22:33:360605デフォルトの名無しさん
2007/08/23(木) 22:38:58ってのが欲しい
0606デフォルトの名無しさん
2007/08/23(木) 22:45:15それはヘッダを生成するさいに、一時ファイル経由でdiffでもとって、
変更がなければ上書きしなければよいのでは
0607デフォルトの名無しさん
2007/08/23(木) 23:02:320608デフォルトの名無しさん
2007/08/23(木) 23:08:190609デフォルトの名無しさん
2007/08/23(木) 23:08:590610デフォルトの名無しさん
2007/08/23(木) 23:16:44関数・変数だけだったらヘッダ生成に使えるだろうけど。
0611デフォルトの名無しさん
2007/08/23(木) 23:19:44C99があさっての方にいっちゃったけど、今更捨てる気もないだろし
0612デフォルトの名無しさん
2007/08/23(木) 23:20:270613デフォルトの名無しさん
2007/08/23(木) 23:22:08それ気にする必要も無いんならC++使うよ
C99なんて使いどころが全然無い
0614デフォルトの名無しさん
2007/08/23(木) 23:37:460615デフォルトの名無しさん
2007/08/23(木) 23:46:160616デフォルトの名無しさん
2007/08/23(木) 23:51:370617デフォルトの名無しさん
2007/08/23(木) 23:57:420618デフォルトの名無しさん
2007/08/24(金) 00:03:120619デフォルトの名無しさん
2007/08/24(金) 00:04:460620デフォルトの名無しさん
2007/08/24(金) 01:17:02dはコンパイル時に.hに相当するものを生成するオプションがある
ライブラリ作成時には必須
0621デフォルトの名無しさん
2007/08/24(金) 02:13:11だからって最適化のためにいちいちinline展開しなきゃいけないというのもおかしな話だし
0622デフォルトの名無しさん
2007/08/24(金) 02:29:040623デフォルトの名無しさん
2007/08/24(金) 02:42:36デフォルトのコピーコンストラクタは各基底クラスと各データメンバのコピーコンストラクタを
使う。ビットコピーじゃないよ。
0624デフォルトの名無しさん
2007/08/24(金) 02:46:17もっと抽象的な形で編集できていいと思うんだよ。
0625デフォルトの名無しさん
2007/08/24(金) 03:13:45その「抽象的な形」で書くってことは、つまり C++ ではない別の言語を使うということに
なるのではないかな。
0626デフォルトの名無しさん
2007/08/24(金) 07:12:43inline指定ない関数も、毎回コンパイルされているが、気にしない。
.cppも.hもない。
0627デフォルトの名無しさん
2007/08/24(金) 08:24:180628デフォルトの名無しさん
2007/08/24(金) 09:51:35言語仕様で決まってるんじゃなかったっけ
hppに書いたらinline展開するか、再コンパイルするかなど
コンパイラがよきにはからう、という言語仕様にしてれば
今頃は誰も分割なんかしてないだろう
0629デフォルトの名無しさん
2007/08/24(金) 09:56:39> hppに書いたらinlineと書かなくてもinline展開しようとする
クラス定義内の関数定義は、暗黙のinline宣言だね。
> inline展開するか、再コンパイルするかなど
> コンパイラがよきにはからう、という言語仕様にしてれば
そういう仕様だよ。inline宣言はコンパイラに対するヒントに過ぎない。
"prefered"ではあるんだけれど。
0630デフォルトの名無しさん
2007/08/24(金) 09:57:14メンバ関数の定義をクラス定義内に書いたらの話。
0631デフォルトの名無しさん
2007/08/24(金) 10:15:36依存するクラス全部再コンパイルされて、
それに依存するクラスも全部再コンパイルされて・・・
となってほぼ全クラス再コンパイルされちまうよな
なんでこんな糞仕様なんだ
0632デフォルトの名無しさん
2007/08/24(金) 10:20:36Visual C++の簡易リビルドは、そういうときに
再コンパイルをしなくていいものはしないという機能ではないか?
仕様がアレでもコンパイラが頑張るとそんなこともできるという話。
0633デフォルトの名無しさん
2007/08/24(金) 10:32:04つ pimpl
0634デフォルトの名無しさん
2007/08/24(金) 10:51:23inline = default
も追加だ
0635デフォルトの名無しさん
2007/08/24(金) 10:54:29pimplは.hと.cppをがっつり分けてもなお依存性がやばいことになるという
C++の仕様に対する対策じゃん
ポインタ越しの関数もinline展開されたらまるで対抗できない
>>632
簡易リビルドを指定すれば.hと.cppを分けなくてもいいという話は聞いたことがないぜ
.hが変更されていても再コンパイルする必要がない場合は有効だろうけど
inline展開されてたらどうしたって再コンパイルしなきゃならなくなるし
まあデバッグビルドならinline展開されないだろうから大丈夫なのかな
0636デフォルトの名無しさん
2007/08/24(金) 11:03:510637デフォルトの名無しさん
2007/08/24(金) 11:05:41変更された部分に依存していなければ再コンパイルする必要がない場合を
うまく見分ける機能じゃないの?
gccにそんなんあるかい
0638デフォルトの名無しさん
2007/08/24(金) 11:29:08> ポインタ越しの関数もinline展開されたらまるで対抗できない
オイオイw
0639デフォルトの名無しさん
2007/08/24(金) 11:33:25.hに実装を書いたらpimpl使ったって
virtualでない限り基本的にはinline展開されちまうだろ
0640デフォルトの名無しさん
2007/08/24(金) 17:32:10メソッドをどうやってインライン展開するというのだろうか。
0641デフォルトの名無しさん
2007/08/24(金) 17:33:080642デフォルトの名無しさん
2007/08/24(金) 17:58:10かなりおかしなことを言ってるな
0643デフォルトの名無しさん
2007/08/24(金) 18:46:25cl.exe の /Og がまさにそれじゃなかったか?
0644デフォルトの名無しさん
2007/08/24(金) 18:51:29.cppに書いてあるものも勝手にinline展開したりするんだよな
0645デフォルトの名無しさん
2007/08/24(金) 18:57:51そもそも何もしなくてもデフォルトでpimplになってるべきだよな
その辺の仕様が古臭すぎる
0646デフォルトの名無しさん
2007/08/24(金) 19:24:17gccもiccも当たり前のようにinline展開しますが何か。
0647デフォルトの名無しさん
2007/08/24(金) 19:30:47pimplなど笑止千万。
0648デフォルトの名無しさん
2007/08/24(金) 19:45:17コンパイル速度を上げるpimplが必要なんだろ
0649デフォルトの名無しさん
2007/08/24(金) 19:59:580650デフォルトの名無しさん
2007/08/24(金) 20:04:010651デフォルトの名無しさん
2007/08/24(金) 20:04:26それどころかDLL内の関数すらインライン展開できる。
http://msdn2.microsoft.com/ja-jp/library/feffc7b5(vs.80).aspx
0652デフォルトの名無しさん
2007/08/24(金) 22:12:580653デフォルトの名無しさん
2007/08/24(金) 22:27:320654デフォルトの名無しさん
2007/08/24(金) 22:47:100655デフォルトの名無しさん
2007/08/24(金) 23:50:52.cppのちょっとした変更でも再コンパイルがわけわかんないとこまで広がりかねんな
0656デフォルトの名無しさん
2007/08/25(土) 00:15:180657デフォルトの名無しさん
2007/08/25(土) 00:43:060x++でそこらへんの仕様が変わるって言うなら別だが
0658デフォルトの名無しさん
2007/08/25(土) 00:53:15じゃあC++の今後には何の期待も出来んな
0659デフォルトの名無しさん
2007/08/25(土) 01:51:030660デフォルトの名無しさん
2007/08/25(土) 02:15:58.hと.cppを分けなければならないのは冗長で腐った考え方だ
クロージャを導入する前にそこをまずなんとかしろ
テンプレートのメタプログラミングはわけわからんからまともなマクロを導入しろ
足元をまず見直せ
0661デフォルトの名無しさん
2007/08/25(土) 02:20:22言語仕様を俺の頭の悪さに合わせろ!とはなんとも無茶な注文ですね
0662デフォルトの名無しさん
2007/08/25(土) 04:27:56>>660みたいなのはDやればと思ってしまう
0663デフォルトの名無しさん
2007/08/25(土) 08:25:25標準のヘッダは .h というか拡張しなかったりするけど、それ以外は
プリプロセッサが処理したあとの話しか規定してないわけだし。
0664デフォルトの名無しさん
2007/08/25(土) 09:05:300665デフォルトの名無しさん
2007/08/25(土) 09:42:43IDEの支援がもっとあってもいいと思う。
0666デフォルトの名無しさん
2007/08/25(土) 10:47:41せっかくネイティブなのに
まあDelphi使えばいいんだけどな
0667デフォルトの名無しさん
2007/08/25(土) 10:51:29言語仕様で決まってるんだよスカタン
なんだこの糞仕様
0668デフォルトの名無しさん
2007/08/25(土) 10:54:09妄想乙。
0669デフォルトの名無しさん
2007/08/25(土) 11:00:46暗黙 inline とかでぐぐれ
0670デフォルトの名無しさん
2007/08/25(土) 11:13:39「全部inline展開しようとする」は、
「全部必ずinline展開しようとする」、
「全部inline展開の考慮対象とする」のどちらにも読める。
0671デフォルトの名無しさん
2007/08/25(土) 11:27:38どっちも同じ意味だろ
どっちも間違ってない
0672デフォルトの名無しさん
2007/08/25(土) 11:27:45それはクラス定義内での関数定義の話ではないのか?
0673デフォルトの名無しさん
2007/08/25(土) 11:31:32定義と宣言というのは正しい用語だがわかりにくいから
俺は.hに実装を書けばという言い方をする
.hの中でクラス定義と関数定義を分ける意味がないから普通は
クラス定義内の関数定義のことだと分かってもらえると思うが
0674デフォルトの名無しさん
2007/08/25(土) 11:35:31こんなスレでそんなわかりにくさを気にするような奴はいないから、
そんな気を使う必要はないよ。
0675デフォルトの名無しさん
2007/08/25(土) 11:38:040676デフォルトの名無しさん
2007/08/25(土) 11:58:39> .hの中でクラス定義と関数定義を分ける意味がないから、普通は
> クラス定義内の関数定義のことだと分かってもらえると思うが
俺はごく短いもの以外、inlineさせたいメンバ関数は、.hの中で分けて書いてinline付けてるよ。
class hoge { }; のひとカタマリは、できるだけインターフェースの全容を一望しやすい形にしておきたいんで。
俺みたいな好みを持たない人でも、クラステンプレートがかなりでかいメンバ関数を持つことになって、
それを.hの中で分けて書いた、なんてことは何度もあるんじゃないかと思う。
つまり、「.hの中でクラス定義と関数定義を分ける」ことは、割とある。
だから「.hに実装を書く」という表現で、一気に「クラス定義部に実装を書くこと」まで限定した会話が
できると考えるのは、ちょっと行き過ぎなんじゃないかと思う。
・・・でもそれはそれとして、クラス定義内の強制inlineに対する気持ちはわかるw
0677デフォルトの名無しさん
2007/08/25(土) 12:28:020678デフォルトの名無しさん
2007/08/25(土) 12:29:20A function declaration with an inline specifier declares an inline function.
インライン指定を備えた関数宣言はインライン関数を宣言します。
The inline specifier indicates to the implementation
that inline substitution of the function body at
the point of call is to be preferred to
the usual function call mechanism.
インライン指定は、呼び出し位置の関数本体のインライン置換が
通常の関数呼び出し機構より優先されることを実装に示します。
An implementation is not required to perform
this inline substitution at the point of call;
実装は呼び出し位置でこのインライン置換を実行することは要求されません。
0679デフォルトの名無しさん
2007/08/25(土) 12:36:45pimpl使えってことじゃないのC++的には
ただのイディオムではなく言語的にもっとサポートがあると楽でいいんだがな
いつもいつもいちいち委譲のコードなんて書きたくないし
0680デフォルトの名無しさん
2007/08/25(土) 12:44:01原始的すぎる
Packageみたいなものをサポートする予定はないのかね
0681デフォルトの名無しさん
2007/08/25(土) 14:08:32pImpl は extern と export で撲滅できるし
0682デフォルトの名無しさん
2007/08/25(土) 14:23:56GC使わないこともできるよ。
0683デフォルトの名無しさん
2007/08/25(土) 14:24:42必要ないのかな?
0684デフォルトの名無しさん
2007/08/25(土) 14:28:03むしろexportのほうが撲滅されそうないきおいジャマイカ
0685デフォルトの名無しさん
2007/08/25(土) 14:29:14ソースを置き換えるっていうこと自体問題が多すぎる
パッケージ内のクラス定義を一気に導入して
実際に使っているクラス定義にしか依存しない、という機能があればいい
0686デフォルトの名無しさん
2007/08/25(土) 14:30:19Cとの互換性を捨てていいんならいくらでもやりようはあるだろうけど
今更それは出来んだろ
0687デフォルトの名無しさん
2007/08/25(土) 14:32:45packageというのを作ればいいんじゃね
これ導入したらincludeまで壊れるか?
0688デフォルトの名無しさん
2007/08/25(土) 14:33:46新しい仕組みを作るのか
それならいいかもな
0689デフォルトの名無しさん
2007/08/25(土) 15:21:210690デフォルトの名無しさん
2007/08/25(土) 15:46:320691デフォルトの名無しさん
2007/08/25(土) 15:59:320692デフォルトの名無しさん
2007/08/25(土) 16:05:570693デフォルトの名無しさん
2007/08/25(土) 16:19:37お前の頭の話なら、ダメかも。
0694デフォルトの名無しさん
2007/08/25(土) 16:51:25export を使うとコンパイルの挙動が異様におもしろくなるので
コード書きのモチベーションに変化があったりなかっ…なくはない
0695デフォルトの名無しさん
2007/08/25(土) 17:20:340696デフォルトの名無しさん
2007/08/25(土) 17:41:12"to be preferred"を"優先される"は強すぎるだろ。
これこそ「しようとする」だ。
0697デフォルトの名無しさん
2007/08/25(土) 19:39:43びょーんすっぽすっぽサマの声が聞けて嬉しす。
0698デフォルトの名無しさん
2007/08/25(土) 22:04:39C++は既にCとの互換性を失っていますが
0699デフォルトの名無しさん
2007/08/25(土) 23:07:460700デフォルトの名無しさん
2007/08/29(水) 02:32:450701デフォルトの名無しさん
2007/08/29(水) 18:31:030702デフォルトの名無しさん
2007/08/29(水) 18:34:460703デフォルトの名無しさん
2007/08/29(水) 18:45:410704デフォルトの名無しさん
2007/08/29(水) 19:49:270705デフォルトの名無しさん
2007/08/29(水) 21:06:18とんでもない言語を作ってくれると思うんだけどなあ
templateだけじゃやっぱ弱いよ
0706デフォルトの名無しさん
2007/08/29(水) 21:20:25「何でもできる」ってのはやっぱ危険だよ。
0707デフォルトの名無しさん
2007/08/29(水) 21:21:090708デフォルトの名無しさん
2007/08/29(水) 21:50:44知っている人ほとんどいないと思うけど・・・
0709デフォルトの名無しさん
2007/08/29(水) 22:06:29D言語に謝れ
0710デフォルトの名無しさん
2007/08/29(水) 22:54:570711デフォルトの名無しさん
2007/08/29(水) 22:57:17typeof(hoge) var;のこと?
0712デフォルトの名無しさん
2007/08/29(水) 23:00:05多分同じことを指してるだろうが auto i = c.begin(); みたいに書いた方がわかりやすくないか?
0713デフォルトの名無しさん
2007/08/29(水) 23:01:570714710
2007/08/29(水) 23:34:19※ PDF ! PDF !
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1984.pdf
0715デフォルトの名無しさん
2007/08/29(水) 23:40:21って感じだな。
で、ついでにデフォルトのintも廃止されるのかな。
0716デフォルトの名無しさん
2007/08/29(水) 23:41:310717デフォルトの名無しさん
2007/08/29(水) 23:49:25ついでに言うとC99でもなくなった。
0718デフォルトの名無しさん
2007/08/30(木) 02:01:460719デフォルトの名無しさん
2007/08/30(木) 02:15:020720デフォルトの名無しさん
2007/08/30(木) 09:53:480721デフォルトの名無しさん
2007/08/30(木) 10:19:44Comeauのv439β使ってる
コンパイラの実装制限による仕様抑制が全くないC++の開発効率の高さは異常
0722デフォルトの名無しさん
2007/08/30(木) 10:20:22別のコンストラクタを呼ぶことができるようになったんだね。
struct C {
C(int) { }
C() : C(42) { }
};
0723デフォルトの名無しさん
2007/08/30(木) 10:20:590724デフォルトの名無しさん
2007/08/30(木) 10:35:370725デフォルトの名無しさん
2007/08/30(木) 12:22:540726デフォルトの名無しさん
2007/08/30(木) 12:26:410727デフォルトの名無しさん
2007/08/30(木) 14:50:230728デフォルトの名無しさん
2007/08/30(木) 23:32:23ttp://gcc.gnu.org/gcc-4.3/cxx0x_status.html
0729デフォルトの名無しさん
2007/08/31(金) 00:01:53下の方でチラチラしてるやつ胡散くせーなぁw
0730デフォルトの名無しさん
2007/08/31(金) 09:03:540731デフォルトの名無しさん
2007/08/31(金) 09:30:590732デフォルトの名無しさん
2007/08/31(金) 21:32:290733デフォルトの名無しさん
2007/08/31(金) 22:32:47広告ウザスwwwww
どこぞのエロサイトかと
0734デフォルトの名無しさん
2007/08/31(金) 22:38:570735デフォルトの名無しさん
2007/08/31(金) 22:43:500736デフォルトの名無しさん
2007/08/31(金) 23:23:330737デフォルトの名無しさん
2007/08/31(金) 23:31:220738デフォルトの名無しさん
2007/08/31(金) 23:43:15しかし使ったのは4年くらい前が最後か
0739デフォルトの名無しさん
2007/08/31(金) 23:47:34なつかしす。autoみたいに、いかす再利用法を考えてあげようぜ。
0740デフォルトの名無しさん
2007/08/31(金) 23:48:540741デフォルトの名無しさん
2007/08/31(金) 23:50:22autoは見事すぎる。現れる位置ももともとのautoに近いし
0742デフォルトの名無しさん
2007/09/01(土) 00:09:080743デフォルトの名無しさん
2007/09/01(土) 01:00:41objのGCに抵抗する。
0744デフォルトの名無しさん
2007/09/01(土) 02:13:49intはCPU/OS依存ではなく処理系依存だしねぇ。
0745デフォルトの名無しさん
2007/09/01(土) 02:46:49浮動小数点数は strictfp で IEEE 仕様に変更できるとかがいいな。
その上でregisterが整数型として存在するならありがたい。
0746デフォルトの名無しさん
2007/09/01(土) 02:57:18数の特性を指定できるようにすりゃいいんだよ
型も作っちゃいますみたいな
0747デフォルトの名無しさん
2007/09/01(土) 03:48:58分かって言ってるんだとは思うが、抵抗するはresist
0748デフォルトの名無しさん
2007/09/01(土) 04:01:330749デフォルトの名無しさん
2007/09/01(土) 06:00:46strictfpって、遅くなる可能性がなかった?
0750デフォルトの名無しさん
2007/09/01(土) 10:28:48飽くまでCPUごとのFPUに依存したくないときに指定するものだし。
0751デフォルトの名無しさん
2007/09/01(土) 11:13:090752デフォルトの名無しさん
2007/09/01(土) 11:17:200753デフォルトの名無しさん
2007/09/01(土) 11:19:420754デフォルトの名無しさん
2007/09/01(土) 11:20:130755デフォルトの名無しさん
2007/09/01(土) 12:26:440756デフォルトの名無しさん
2007/09/01(土) 12:27:560757デフォルトの名無しさん
2007/09/02(日) 09:01:110758デフォルトの名無しさん
2007/09/02(日) 09:02:380759デフォルトの名無しさん
2007/09/02(日) 09:06:26JIS X3014:2003を見ると、allocatorのところに、
farポインタ用のchar_traitsを定義する例が載っているんだ。
0760デフォルトの名無しさん
2007/09/02(日) 10:36:390761デフォルトの名無しさん
2007/09/02(日) 13:46:10[Note: If there is an additional pointer type _ _far such that
the difference of two _ _far is of type long, an implementation may define
template<class T> struct iterator_traits<T _ _far*> {
typedef long difference_type;
typedef T value_type;
typedef T _ _far* pointer;
typedef T _ _far& reference;
typedef random_access_iterator_tag iterator_category;
};
-end note]
0762デフォルトの名無しさん
2007/09/02(日) 14:10:30使ってみたい!
あ
0763デフォルトの名無しさん
2007/09/02(日) 18:19:280764南米院 ◆QUsHlZHWHA
2007/09/02(日) 21:45:390765デフォルトの名無しさん
2007/09/03(月) 04:08:080766デフォルトの名無しさん
2007/09/03(月) 09:05:160767デフォルトの名無しさん
2007/09/03(月) 11:32:230768デフォルトの名無しさん
2007/09/03(月) 12:18:21つ あ
http://pc11.2ch.net/test/read.cgi/tech/1186388884/
0769768
2007/09/03(月) 12:22:31○>>762-768
0771デフォルトの名無しさん
2007/09/03(月) 12:31:070772デフォルトの名無しさん
2007/09/03(月) 22:32:34autoのない世界に戻れそうにない
0773デフォルトの名無しさん
2007/09/04(火) 19:25:480774デフォルトの名無しさん
2007/09/04(火) 20:42:510775デフォルトの名無しさん
2007/09/04(火) 20:45:220776デフォルトの名無しさん
2007/09/04(火) 21:51:290777デフォルトの名無しさん
2007/09/04(火) 21:54:460778デフォルトの名無しさん
2007/09/04(火) 21:56:090779デフォルトの名無しさん
2007/09/04(火) 22:00:490780デフォルトの名無しさん
2007/09/04(火) 23:24:490781デフォルトの名無しさん
2007/09/05(水) 00:24:270782デフォルトの名無しさん
2007/09/05(水) 01:06:040783デフォルトの名無しさん
2007/09/05(水) 01:07:590784デフォルトの名無しさん
2007/09/05(水) 02:56:470785デフォルトの名無しさん
2007/09/05(水) 02:59:32C++にひざまずいてるように見えるな
0786デフォルトの名無しさん
2007/09/05(水) 09:48:16気をよくして第2?3弾としてMODULA2を作ったけどさっぱりだった。
C++0xもほどほどで公開した方がいい。あんまりもったいぶると、いざ
公開されたときには「こんなのイラネ」と誰も使わないかもしれんぞ。
ご存知のように、言語とかライブラリとかは技術的に優れているから
受け入れられるかというと必ずしもそうではない。アメリカの某団体
が強く推奨するとか、マイクロソフトが採用する、とか運みたいな
ものがあるから。
0787デフォルトの名無しさん
2007/09/05(水) 09:54:05ageてる割に中身が無く、
誰に言ってるのかわからない文章
0788デフォルトの名無しさん
2007/09/05(水) 10:06:41〜(^Д^)〜
0789デフォルトの名無しさん
2007/09/05(水) 10:08:20Modula-3, Oberon, Oberon-2も知らないのね。
0790デフォルトの名無しさん
2007/09/05(水) 10:38:40知らんでもいい。
Ada-95を知っていれば十分。
0791デフォルトの名無しさん
2007/09/05(水) 15:11:27C>>
C<<
C==
C||
C&&
0792デフォルトの名無しさん
2007/09/05(水) 15:47:19C++
C+=2
C+=3
0793デフォルトの名無しさん
2007/09/05(水) 15:59:140794デフォルトの名無しさん
2007/09/05(水) 16:27:200795デフォルトの名無しさん
2007/09/05(水) 16:30:18「元祖D」とか「総本家D」で桶
0796デフォルトの名無しさん
2007/09/05(水) 16:47:290797デフォルトの名無しさん
2007/09/05(水) 18:24:19いきなりのC
0798デフォルトの名無しさん
2007/09/05(水) 18:25:490799デフォルトの名無しさん
2007/09/05(水) 20:48:470800デフォルトの名無しさん
2007/09/05(水) 21:24:490801デフォルトの名無しさん
2007/09/05(水) 22:36:250802デフォルトの名無しさん
2007/09/05(水) 22:57:430803デフォルトの名無しさん
2007/09/05(水) 23:06:240804デフォルトの名無しさん
2007/09/05(水) 23:17:400805デフォルトの名無しさん
2007/09/05(水) 23:20:53だから、新しい名前が必要に・・・
0806デフォルトの名無しさん
2007/09/05(水) 23:24:120807デフォルトの名無しさん
2007/09/05(水) 23:49:050808デフォルトの名無しさん
2007/09/06(木) 00:17:090809デフォルトの名無しさん
2007/09/06(木) 09:19:000810デフォルトの名無しさん
2007/09/06(木) 10:42:56C++ C++は二度死ぬ
C++ わたしを愛したJava
0811デフォルトの名無しさん
2007/09/06(木) 12:34:260812デフォルトの名無しさん
2007/09/06(木) 12:55:550813デフォルトの名無しさん
2007/09/06(木) 18:11:210814デフォルトの名無しさん
2007/09/06(木) 19:55:480815デフォルトの名無しさん
2007/09/06(木) 20:13:500816デフォルトの名無しさん
2007/09/06(木) 22:50:580817デフォルトの名無しさん
2007/09/06(木) 23:10:490818デフォルトの名無しさん
2007/09/07(金) 00:16:000819デフォルトの名無しさん
2007/09/07(金) 17:46:48auto func<int val>(auto arg) { return val * arg; }
0820デフォルトの名無しさん
2007/09/07(金) 18:43:45template <int val, typename T> T func(T arg) { return val * arg; };
だとなんかマズい?
0821デフォルトの名無しさん
2007/09/07(金) 18:46:310822デフォルトの名無しさん
2007/09/07(金) 22:04:11それって、引数に与える型によって返値型がころころ変わるのがいやだなあ。
0823デフォルトの名無しさん
2007/09/07(金) 22:18:32引数や返値にautoを使用したとすると、参照にしたい時とか面倒そうだなあ
0824デフォルトの名無しさん
2007/09/08(土) 00:08:470825auto
2007/09/08(土) 00:15:41int main()
{
auto ;//Do anything you want.
return 0 ;
}
0826デフォルトの名無しさん
2007/09/08(土) 00:16:50template構文でも、こう書けば同様に戻り値の型が
ころころ変わることを表現できそう(実際これが可能かは知らない)。
template<int val, typename T>
decltype(val * T()) func(T arg);
Boost.Lambdaみたいなライブラリでは役に立つのかもしれないと思う。
0827デフォルトの名無しさん
2007/09/08(土) 19:16:25auto func10 = func(10);
0828デフォルトの名無しさん
2007/09/08(土) 19:19:280829デフォルトの名無しさん
2007/09/08(土) 23:08:450830デフォルトの名無しさん
2007/09/08(土) 23:12:370831デフォルトの名無しさん
2007/09/08(土) 23:18:24ドラえもん乙
0832デフォルトの名無しさん
2007/09/09(日) 01:59:47教えてくれてありがとう!
0833デフォルトの名無しさん
2007/09/09(日) 02:06:05ぴぴるぴるぴる(略
0834デフォルトの名無しさん
2007/09/15(土) 10:51:470835デフォルトの名無しさん
2007/09/19(水) 19:09:370836デフォルトの名無しさん
2007/09/20(木) 18:33:430837デフォルトの名無しさん
2007/09/20(木) 21:59:390838デフォルトの名無しさん
2007/09/20(木) 23:43:23D&Eでしつこいほどに言及してたけど。
0839デフォルトの名無しさん
2007/09/21(金) 08:45:219 月分だと draft の変更はなし。concurrency 関連の paper が多め、といったところだと思う。
>826
簡単に T が Default constructible でなくても良く書く方法として
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1978.pdf
に、↓な書き方が提案されている。
template<int val, typename T>
auto func (T arg) -> decltype(val * arg);
0840デフォルトの名無しさん
2007/09/21(金) 08:52:530841デフォルトの名無しさん
2007/09/21(金) 12:34:230842デフォルトの名無しさん
2007/09/21(金) 15:30:530843デフォルトの名無しさん
2007/09/21(金) 16:15:300844デフォルトの名無しさん
2007/09/21(金) 16:26:56を読んでて、ふと思ったんだけど 2.4.1 Variable and function names の所で
int foo(char);
decltype(&foo) // int(*)(char)
decltype(*&foo) // int(&)(char)
とグローバル関数については例が載ってるけど、メンバ関数については
class A {
int foo(char);
};
decltype(&A::foo) // int(Foo::*)(char)
と、メンバ関数ポインタについてのみ書いてある。
decltype(*&A::foo) // int(Foo::&)(char)
とかってのは駄目?
0845デフォルトの名無しさん
2007/09/21(金) 17:39:06::&演算子?
0846デフォルトの名無しさん
2007/09/23(日) 06:58:200847デフォルトの名無しさん
2007/09/23(日) 08:24:34そこからあと90年待つのかな。
0848デフォルトの名無しさん
2007/09/23(日) 10:34:44現行のC++にもメンバへの参照はないな。
0849デフォルトの名無しさん
2007/09/23(日) 16:09:28レスありがと。
そっか、別に必要と思う局面は思いつかないけど
なんで無いんだろうねぇ。
0850デフォルトの名無しさん
2007/09/23(日) 16:44:05参照は必ず実体を指す、という制約がクラス継承によってさっくり破られるからな
0851デフォルトの名無しさん
2007/09/23(日) 18:48:13おー!なるほど!
そういうことだったのか。
T& を T* const と思い込んでたから気付かなかったんだぜ。
0852デフォルトの名無しさん
2007/09/24(月) 14:39:56ってことは、ってことは!!
この動作は不定ってことだぁーーーーーーーーーーーー。
まさに外道。
0853デフォルトの名無しさん
2007/09/24(月) 14:49:530854デフォルトの名無しさん
2007/09/24(月) 18:13:390855デフォルトの名無しさん
2007/09/25(火) 03:58:34てか、g++は追従できるんだろうか・・・。
0856デフォルトの名無しさん
2007/09/25(火) 08:31:550857デフォルトの名無しさん
2007/09/25(火) 08:48:010858デフォルトの名無しさん
2007/09/25(火) 11:43:410859デフォルトの名無しさん
2007/09/25(火) 22:45:090860デフォルトの名無しさん
2007/09/26(水) 12:27:550861デフォルトの名無しさん
2007/09/27(木) 18:36:20$ cat > a.cc
int main() {
int C = 0;
C++0x2009;
}
$ g++ a.cc
a.cc: In function `int main()':
a.cc:3: error: expected `;' before numeric constant
$ orz
bash: orz: command not found
0862デフォルトの名無しさん
2007/09/28(金) 00:31:01これが標準になれば、lambda無くても良くね?
0863デフォルトの名無しさん
2007/09/28(金) 00:45:410864デフォルトの名無しさん
2007/09/28(金) 00:50:490865デフォルトの名無しさん
2007/09/28(金) 01:46:21ローカルクラスのstaticメソッドで十分では。
0866デフォルトの名無しさん
2007/09/28(金) 02:07:00めんどいしhackっぽいのが嫌じゃない?
クロージャも使えないし。
0867デフォルトの名無しさん
2007/09/28(金) 03:35:47たしかに面倒というほかないが、
tr1::bindとstaticメソッドさえあればクロージャはできるよね。
まあ、lambda欲しいけど。
0868デフォルトの名無しさん
2007/09/28(金) 23:26:53そんな大それたお願いじゃないからさ
0869デフォルトの名無しさん
2007/09/29(土) 00:23:380870デフォルトの名無しさん
2007/09/29(土) 00:24:232進表記もほすい
0871デフォルトの名無しさん
2007/09/29(土) 01:27:17struct Binary {
enum { value = (Binary<N / 10>::value << 1) + N % 10 };
};
template <>
struct Binary<0> {
enum { value = 0 };
};
で
Binary<1101>::value -> 13
あるいは
#define HEX_DIGIT_0000 0
#define HEX_DIGIT_0001 1
...
#define HEX_DIGIT_1111 f
#define HEX_DIGIT(a) HEX_DIGIT ## a
#define BINARY8H(a,b,c,d,e,f,g,h) (0x##a##b##c##d##e##f##g##h)
#define BINARY8I(a,b,c,d,e,f,g,h) BINARY8H(a,b,c,d,e,f,g,h)
#define BINARY8(a,b,c,d,e,f,g,h) BINARY8I(HEX_DIGIT(a), HEX_DIGIT(b), ..., HEX_DIGIT(h))
で
BINARY8(1010,0101,1010,0101,1010,0101,1010,0101) -> 0xa5a5a5a5
0872デフォルトの名無しさん
2007/09/29(土) 13:56:240873デフォルトの名無しさん
2007/09/29(土) 16:47:090874デフォルトの名無しさん
2007/09/29(土) 19:23:053進法や5進法が欲しくなることもたまにあるし
0875デフォルトの名無しさん
2007/09/29(土) 20:01:520876デフォルトの名無しさん
2007/09/30(日) 07:30:05Pythonにアンスコ区切りないよ?
バイナリリテラルはあるかも知れないが
0877デフォルトの名無しさん
2007/09/30(日) 09:51:090878デフォルトの名無しさん
2007/09/30(日) 12:08:03あれ。違ったか。ごめん。ずっと Python だと覚えてた
12_000_000 って数値の書式を整理できるヤシ
0879デフォルトの名無しさん
2007/09/30(日) 12:46:510880デフォルトの名無しさん
2007/09/30(日) 14:33:48perlで出きるのを見てて、Cでも出来るものと勘違いしてたよ。
あると読みやすいね。
0881デフォルトの名無しさん
2007/09/30(日) 14:37:18int64_t hoge = 0xFFFFFFFFFFFFFFFF;
とか書きたくないな
0882デフォルトの名無しさん
2007/09/30(日) 14:46:06コンパイル時に定数として埋め込まれるでしょ
0883デフォルトの名無しさん
2007/09/30(日) 15:27:06こういうちょっと便利な内容っていつでもできるからって議題に上がらなくて
結局、入らないんだよね
int64_t max_value = 3_764_000_000;
int64_t max_value = UNDERSCOUT_FORMAT(3_764_000_000);
可読性がぜんぜん違うっしょ
0884デフォルトの名無しさん
2007/09/30(日) 17:42:05int64_t hoge = ~0;
0885デフォルトの名無しさん
2007/09/30(日) 17:46:30ごめん。スレ違いだけどちょっと気になって・・・
template <bool B> struct static_assert;
template <> struct static_assert<true> {};
template <unsigned long N>
struct Binary {
static_assert<N % 10 == 0 || N % 10 == 1> illegal_bin_digit_found;
enum { value = (Binary<N / 10>::value << 1) + N % 10 };
};
template <>
struct Binary<0> {
enum { value = 0 };
};
0886デフォルトの名無しさん
2007/09/30(日) 18:50:56Binary<0101>::value で static_assert 失敗するのはダメだろ。
0887デフォルトの名無しさん
2007/09/30(日) 19:07:458進数になるから無視していいのでは。
0888デフォルトの名無しさん
2007/09/30(日) 22:53:010889デフォルトの名無しさん
2007/09/30(日) 23:20:19今を逃すとc++1x送りになるだろし。
0890デフォルトの名無しさん
2007/09/30(日) 23:58:34そりゃ難しくないかい?俺の頭では無理っぽい。
だって、何桁目のカンマか識別できないもん・・・(´・ω・`)
0891デフォルトの名無しさん
2007/10/01(月) 00:00:560892デフォルトの名無しさん
2007/10/01(月) 00:02:110893デフォルトの名無しさん
2007/10/01(月) 00:02:40好ましいように思うな。でも何十年も拒否してきた機能を今さら入れるだろうか?
0894デフォルトの名無しさん
2007/10/01(月) 00:03:46lhsとrhsが逆じゃね?(普通の習慣では)
0895デフォルトの名無しさん
2007/10/01(月) 00:03:570896デフォルトの名無しさん
2007/10/01(月) 00:06:310897デフォルトの名無しさん
2007/10/01(月) 00:18:29これで解決
流用できないのでGPLも怖くないwww
0898デフォルトの名無しさん
2007/10/01(月) 00:23:070899デフォルトの名無しさん
2007/10/01(月) 00:23:370900デフォルトの名無しさん
2007/10/01(月) 00:37:020b10101010 とか 0xAA_BB_CC_DD とか 1,024 とか。
0901デフォルトの名無しさん
2007/10/01(月) 00:39:22I want to use >>900.
0902デフォルトの名無しさん
2007/10/01(月) 00:44:000903デフォルトの名無しさん
2007/10/01(月) 00:46:59お前頭いいなぁ
0904デフォルトの名無しさん
2007/10/01(月) 00:50:410905デフォルトの名無しさん
2007/10/01(月) 01:07:500906デフォルトの名無しさん
2007/10/01(月) 01:13:41このstatic assert頭よくね?
コンパイルタイムでなくリンクタイムの失敗になるだろうけど。
0907デフォルトの名無しさん
2007/10/01(月) 01:23:41コンパイルタイムに弾くよ。
だって、static_assert<false> は未定義になるから、
illegal_bin_digit_found のサイズがわからーんってなるもん。
0908デフォルトの名無しさん
2007/10/01(月) 01:24:09失敗したらコンパイルエラーで止まるよ。
0909デフォルトの名無しさん
2007/10/01(月) 01:26:13boostのはもちっと複雑だよね?boostのも同じ原理だっけ?
0910デフォルトの名無しさん
2007/10/01(月) 08:24:02>1,024
既存プログラムに非互換が出るから駄目だと思う。
0911デフォルトの名無しさん
2007/10/01(月) 08:33:100912デフォルトの名無しさん
2007/10/01(月) 08:46:560913デフォルトの名無しさん
2007/10/01(月) 12:05:060914デフォルトの名無しさん
2007/10/01(月) 14:42:090915デフォルトの名無しさん
2007/10/01(月) 14:47:590916デフォルトの名無しさん
2007/10/01(月) 15:04:470917デフォルトの名無しさん
2007/10/01(月) 15:11:130918デフォルトの名無しさん
2007/10/01(月) 15:13:340919デフォルトの名無しさん
2007/10/01(月) 16:06:56int i = 0b1010;
$ g++ -c a.cc
a.cc:1:9: invalid suffix "b1010" on integer constant
$ orz
bash: orz: command not found
0920デフォルトの名無しさん
2007/10/01(月) 17:29:43orz.c
#include <stdio.h>
main(){
printf("まあまあ\n");
}
コンパイルして使ってくれ。
0921デフォルトの名無しさん
2007/10/01(月) 17:32:170922デフォルトの名無しさん
2007/10/01(月) 17:33:410924デフォルトの名無しさん
2007/10/01(月) 17:41:28#include <iostream>
int main() {
std::cout << "orz===3 プスー" << std::endl;
}
$ g++ -o orz orz.cc
$ orz
orz===3 プスー
$ w
17:39:23 up 25 days, 23:16, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
yy tty1 - 17:40 0.00s 0.09s 0.01s w
0925デフォルトの名無しさん
2007/10/01(月) 17:45:42orzの戻り値に依存してコード組んだら文字通りorzな結果になるんだから、
それはそれでいい。
0926デフォルトの名無しさん
2007/10/01(月) 18:03:04だんだんと低俗になってゆく悪寒。
0927デフォルトの名無しさん
2007/10/01(月) 18:06:080928デフォルトの名無しさん
2007/10/01(月) 18:28:25ttp://gcc.gnu.org/bugzilla/show_bug.cgi?id=23479
0929デフォルトの名無しさん
2007/10/01(月) 21:12:13情報ありが豚。
0930デフォルトの名無しさん
2007/10/01(月) 21:43:54ビットフィールドの上がLSBって規格にしてくれないかな。
ビットフィールドに限らないけど、構造体で新しいメンバを下に書き足したら、
既存のメンバの位置がずれるなんて馬鹿かと。(そんなのに依存する書き方を
するなとか言うのはまた今度。言語としてルールが決まってても困らんだろうし)
0931デフォルトの名無しさん
2007/10/02(火) 02:08:130932デフォルトの名無しさん
2007/10/02(火) 02:50:040933デフォルトの名無しさん
2007/10/02(火) 04:08:440934デフォルトの名無しさん
2007/10/02(火) 06:07:59こういうのかw
これは正直ワロタ
0935デフォルトの名無しさん
2007/10/02(火) 08:04:39やれやれ
初心者スレ行ってくれ
0936デフォルトの名無しさん
2007/10/02(火) 08:14:320937デフォルトの名無しさん
2007/10/02(火) 10:07:15自分がさも玄人のように上から見下ろした書き方をしているが、
実際にはお前だって大した人間じゃないだろう
0938デフォルトの名無しさん
2007/10/02(火) 10:34:530939デフォルトの名無しさん
2007/10/02(火) 10:48:050940デフォルトの名無しさん
2007/10/02(火) 13:22:290941デフォルトの名無しさん
2007/10/02(火) 13:53:260942デフォルトの名無しさん
2007/10/02(火) 14:51:09現状特に規定が無いのだから、今さら非互換ってのにはあたらない
と思うが。あと0xは現状との互換性を完全に踏襲しようとしてるの?
0943デフォルトの名無しさん
2007/10/02(火) 14:57:370944デフォルトの名無しさん
2007/10/03(水) 00:19:55そのこころは?
0945デフォルトの名無しさん
2007/10/06(土) 21:38:02クラスオブジェクトも相互利用できるらしい…
C++0xの優位性って何…?
0946デフォルトの名無しさん
2007/10/06(土) 21:42:21そうなの?C++ってABIぐちゃぐちゃなのに
g++の出力した*.oとはリンクできるとか、そういう話か?
どっちみち現在のC++はテンプレートベースのライブラリが多いから、
*.oとリンクできたところで何が嬉しいんだかよくわからん
それだけじゃ、STLもboostも使えないだろ
0947デフォルトの名無しさん
2007/10/06(土) 21:47:560948デフォルトの名無しさん
2007/10/06(土) 21:52:21そもそも名前マングリングさえ統一されてないのに
どうやってリンクすんの?
特定の環境限定?
0949デフォルトの名無しさん
2007/10/06(土) 23:03:140950デフォルトの名無しさん
2007/10/06(土) 23:27:19boostが使えねーyo
0951デフォルトの名無しさん
2007/10/06(土) 23:32:25enum{ value = "a"[0] };
0952デフォルトの名無しさん
2007/10/06(土) 23:33:56(キャストしなくてもいいのかは気になるが)
なんか問題あるコードなんだっけ?
0953デフォルトの名無しさん
2007/10/06(土) 23:37:14Boostスレ見れ
0954デフォルトの名無しさん
2007/10/06(土) 23:48:08GCC4.3とか?
0955デフォルトの名無しさん
2007/10/07(日) 00:28:14Status of Experimental C++0x Support in GCC 4.3
http://gcc.gnu.org/gcc-4.3/cxx0x_status.html
0956デフォルトの名無しさん
2007/10/07(日) 00:47:32どうせDMC限定でしょ?
0957デフォルトの名無しさん
2007/10/07(日) 10:41:440958デフォルトの名無しさん
2007/10/07(日) 10:54:370959デフォルトの名無しさん
2007/10/07(日) 13:04:32http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2378.pdf
が通れば同じようなことはできるようになるはず。prefix じゃなくて suffix だけど。
ユーザーが拡張可能になるからものすごい変態的機能が実現できそうな気がする。
0960デフォルトの名無しさん
2007/10/07(日) 13:30:32C++ってどんな言語だったっけ。
0961デフォルトの名無しさん
2007/10/07(日) 13:43:390962デフォルトの名無しさん
2007/10/07(日) 13:54:34とWikipediaに書き込んだのは俺
0963デフォルトの名無しさん
2007/10/07(日) 14:35:58おまのせいでこんな言語になったのか!
0964デフォルトの名無しさん
2007/10/07(日) 14:57:540965デフォルトの名無しさん
2007/10/07(日) 16:44:180966デフォルトの名無しさん
2007/10/07(日) 18:07:330967デフォルトの名無しさん
2007/10/07(日) 18:43:49あの読み難さはビギナーにはかなりの苦痛。
C++も同じ方向に向かってると思うと悲しくてならん。
0968デフォルトの名無しさん
2007/10/07(日) 18:44:550969デフォルトの名無しさん
2007/10/07(日) 18:47:240970デフォルトの名無しさん
2007/10/07(日) 18:52:470971デフォルトの名無しさん
2007/10/07(日) 18:54:460972デフォルトの名無しさん
2007/10/07(日) 18:59:200973デフォルトの名無しさん
2007/10/07(日) 19:37:14今のC++のワイド文字はOS、コンパイラ変えると
仕様が変わるからメンドクサイんだけど・・・
0974デフォルトの名無しさん
2007/10/07(日) 19:38:490975デフォルトの名無しさん
2007/10/07(日) 19:45:310976デフォルトの名無しさん
2007/10/07(日) 19:54:260977デフォルトの名無しさん
2007/10/07(日) 19:59:11http://pc11.2ch.net/test/read.cgi/tech/1191754720/
0978デフォルトの名無しさん
2007/10/07(日) 20:01:360979デフォルトの名無しさん
2007/10/07(日) 20:13:200980デフォルトの名無しさん
2007/10/07(日) 20:32:31つ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2149.html
0981デフォルトの名無しさん
2007/10/07(日) 21:36:380982デフォルトの名無しさん
2007/10/08(月) 02:12:510983デフォルトの名無しさん
2007/10/08(月) 03:43:170984デフォルトの名無しさん
2007/10/08(月) 14:17:410985デフォルトの名無しさん
2007/10/08(月) 14:45:400986デフォルトの名無しさん
2007/10/08(月) 15:02:14NLC (No Longer C)とするのか。
0987デフォルトの名無しさん
2007/10/08(月) 16:05:350988デフォルトの名無しさん
2007/10/08(月) 16:38:470989デフォルトの名無しさん
2007/10/08(月) 16:41:450990デフォルトの名無しさん
2007/10/08(月) 17:05:440991デフォルトの名無しさん
2007/10/08(月) 17:19:29残念、nullptr というのが与薬後になるよ。
0992デフォルトの名無しさん
2007/10/08(月) 17:46:570993デフォルトの名無しさん
2007/10/08(月) 17:47:290994デフォルトの名無しさん
2007/10/08(月) 17:48:050995デフォルトの名無しさん
2007/10/08(月) 17:48:470996デフォルトの名無しさん
2007/10/08(月) 17:49:520997デフォルトの名無しさん
2007/10/08(月) 18:18:110998デフォルトの名無しさん
2007/10/08(月) 18:20:070999デフォルトの名無しさん
2007/10/08(月) 18:22:401000デフォルトの名無しさん
2007/10/08(月) 18:23:1410011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。