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


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

C++相談室 part95



1 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 04:55:24.99 ]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part94
toro.2ch.net/test/read.cgi/tech/1329512856/

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.78【環境依存OK】
toro.2ch.net/test/read.cgi/tech/1331894668/

■長いソースを貼るときはここへ。■
 codepad.org/
 ideone.com/

556 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 16:52:31.83 ]
プログラマ35歳定年説とか
ただのヘボプロブラマだけの話だよ

557 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 17:09:55.44 ]
経験豊富になってダメな囲い込み技術の(未来のどん詰まり具合を)見抜けるようになると
その日の飯の種を拾う(3年後には)無駄/死亡と判りきってる学習が億劫に成っちゃうからねー

ケツの軽い若い時期しか無理ってのは確かだと思うよ

558 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 17:12:13.66 ]
マ板でやれ

559 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 18:14:27.03 ]
>>556
お前プログラマじゃないだろ・・・

560 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:05:05.40 ]
>>559
プログラマだよ
まだ35じゃないけど

561 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:13:26.54 ]
>>555
センスも技術も年で劣化するからダメというのなら、
どんな職業も35歳で定年だな。


562 名前:デフォルトの名無しさん [2012/06/02(土) 19:14:14.71 ]
クラスを配列に動的に確保したいんですが
hoge *h;
h = new hoge(int ho)[size];
とかだとコンストラクタの引数を変えれないので
*(h+1) = new hoge(int ho);
*(h+2) = new hoge(int ge);
みたいにできないでしょうか

563 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:21:04.50 ]
別にコンストラクタを使わなあかんゆう決まりはないんやで

564 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:27:14.73 ]
コンストラクタでなくても
parent *h;
h[0] = new child1();
h[1] = new child2();
みたいな使い方がしたいんです



565 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:29:43.99 ]
いや、h[0].init(ho); やあかんのん?

どうしても new したいのなら boost::ptr_vector<T> でも使っとき
C++11 なら std::vector<std::unique_ptr<T>> でもええけど

566 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:33:32.17 ]
>>562
std::vector<hoge> h;
h.reserve(size);
h.push_back(hoge(ho));
h.push_back(hoge(ge));
...

567 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:36:28.00 ]
>564 ttp://ideone.com/Q0B7n

568 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 19:53:32.36 ]
>>565-567
ありがとうございます、試してみます

569 名前: ◆QZaw55cn4c mailto:sage [2012/06/02(土) 20:19:43.25 ]
>>548
へーそうなんだ、なして?

570 名前:デフォルトの名無しさん [2012/06/02(土) 21:45:33.58 ]
Java使いで、C++初心者です。
C++でも、
xxx.method(new A());
と書けると思うんですが、
この場合、Aのインスタンスのdeleteは、
どこですべきなのでしょうか?
method内ですると、
A *a = new A();
xxx.method(a);
のときにもdeleteされてしまい、その後使えなくなってしまいます。

C++では、
xxx.method(new A());
という使い方はよくないのでしょうか?


571 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:49:42.82 ]
うん。良くない。unique_ptrとかshared_ptrを使うべき。

572 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 21:58:36.41 ]
そもそもmethod側がnewすべきじゃね

573 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 22:19:09.09 ]
っていうかぁー。
Javaはすべてのオブジェクトをnewで生成するけど、
C++はnewでオブジェクトと生成するのは
「スコープを私(プログラマ)が管理しますよ」って宣言するのとほとんど同義なのでー
生成した人が、破壊を管理しないといけないんですよー。

で、xxx.methodの中で破棄するなら、
それは生成と破棄をxxxが管理すべきですしー
xxx.methodを呼び出す側が生成しているなら、破棄も呼び出す側の責任ですしー
もしくは、A自身が己の破棄を自前で行うよう設計する必要があるわけですよー。

…タブンネ。

574 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 22:20:16.71 ]
Decorator とか Builder とか Strategy とか




575 名前:570 mailto:sage [2012/06/02(土) 22:44:41.62 ]
shared_ptrを使えば、deleteしなくていいみたいなので、
Java感覚でできるということですね。
>>571さんありがとうございました。


576 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 23:01:03.29 ]
Java感覚でプログラミングしたら
C++使う意味ないね

577 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 23:16:06.28 ]
基本はconst参照か右辺値参照でどうにかする事を考えるみたいなのがC++極右

578 名前:デフォルトの名無しさん mailto:sage [2012/06/02(土) 23:20:47.09 ]
うっへんち参照はライブラリ(コンテナ)設計者以外はあんまし考えなくていいみたいよ?
ライブラリが正しく設計されていると、その利用者は右辺値参照について考慮しなくて済む。

579 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 01:18:34.69 ]
>>572
method関数がnewするなんてどこに書いてあった?

580 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 08:22:12.26 ]
C++は自動ガベージコレクションしてくれたりしないのでJavaみたいにnew/deleteを乱発してると
そのうちメモリが断片化してbad_alloc例外飛ばされるぞ

581 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 08:23:50.71 ]
GCと断片化に何のつながりが

582 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 08:25:37.74 ]
コピーガベージコレクションならコンパクションかけられると言いたいんだろ

583 名前:デフォルトの名無しさん [2012/06/03(日) 08:44:04.41 ]
g++でgprofの使い方がイマイチ分からん。
何かいいリファレンスかサイトある?
特にclassのメソッドをよく使っているプログラムで解析しやすい方法が知りたい。

584 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 08:45:23.25 ]
あとついでにインライン展開を止める方法も。



585 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 09:42:01.37 ]
>>584
___attribute( 何か )___ で止められたはず
何かは、何だったか忘れた volatileだったかnoinlineだったかそんな感じだったはず

586 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 12:51:55.87 ]
GLSLシェーダやOpenCLカーネルのような実行時にコンパイルされるソースコードを
main.cpp等のファイル内に簡単に埋め込む方法はないでしょうか。
現在はchar型配列に

char data="int main(){..."

上のように書き込んでいますが見にくいので・・・(改行ごとにバックスラッシュを入れています)
boostや標準機能の中でもっと綺麗に書く方法があればご教示お願いします。

587 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 12:56:38.80 ]
ある

588 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 12:59:33.93 ]
>>586
std::stringを返す専用の引数なし関数にキックするとか。

589 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 13:00:14.86 ]
>>586
エスケープ済みの別ファイルsource.cppとか
作ってmainで#include"source.cpp"じゃだめなんけ
source.cppは、cl.cppみたいな別ファイルにソース書いといて
置換コマンドで、\,"を\\, \"に置き換えるだけ

590 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 13:31:19.36 ]
>>587,588,589
レスありがとうございます。
>>588
string型を返す専用関数で少しうまい方法を考えて見ます。
>>589
ヘッダのように別ファイルに書き込んで置換、というのは一度やってみたのですが
次の2点から少し敬遠していました。

・IDE上に並ぶファイルが増える。
・友人にコードを渡すときにヘッダが増殖する(lib化しろ、というのは最もなのですがWinとMac・・・)

588さんの書き込みを見ていろいろ探していたところ、
string tmp=STRINGIFY(int main(){...);
のような書き方をしているコードを見かけたので中を調べてみます。

皆様すぐにレスしていただきありがとうございました。

591 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:13:54.22 ]
構文エラー : ';' が '*' の前にありません。
と出てしまいます。エラー場所はこれだと思うのですが、文法が間違っているのかよくわかりません。

class Cabc{
 Cbdf* bdfaddr;
public:
 Cabc(Cbdf*);
};

Cabc::Cabc(Cbdf* tmp):bdfaddr(tmp){}

class Cbdf{
 Cabc* abc;
private:
 Cbdf(){abc = new Cabc(this)}
};

592 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:22:16.98 ]
Cabc(Cbdf*);

これは
Cabc(int*)
って書いてるようなものだ
Cabc(Cbdf* hoge);
とすれば消える

593 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:36:17.77 ]
Cabc(きゃびっく?)ってなんよ?

594 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:44:26.79 ]
>>591
きゃびっく型が事前に宣言してないきゃぶどふ型使ってるからだろ
きゃびっくの前に、class Cbdf;と書いとくか、Cbdf *bdfaddr;を
class Cbdf *bdfaddrと書けば行けるはずだ。
ただ、よっぽどの事情が無い限りクラス同士を循環参照すべきじゃない。
オブジェクト同士の循環参照は構わないが、その場合、抽象クラスなどを
用いてクラス定義では単一参照にする。



595 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:45:17.51 ]
>>593
Class ABC じゃね?

596 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 14:49:01.51 ]
プリフィクスはヤメロと・・・

597 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:01:37.39 ]
>>592
なるほど・・・
宣言時は省略できるもんだと思ってました

598 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:02:43.71 ]
>>596
便利じゃないですかー

599 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:11:23.54 ]
何に使うんだよ・・・
(今やプリフィクス禁止が基本なのに)

600 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:22:11.28 ]
今やというか、昔から禿はプリフィクス付けんなと言っているけどな
代わりに名前空間使えや

601 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:23:27.27 ]
>>597
いや、省略できるよ。そこは問題ない。問題は循環参照。

602 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:25:32.98 ]
これからはフィリックスの時代

603 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:51:11.79 ]
>>602
懐かしいな。黒い猫だろ。

604 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 15:59:12.44 ]
プラスネジじゃないの?



605 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 19:44:49.39 ]
>>591そのままのソースならnew Cabc(this)の後ろに;がないのが間違いだが

606 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:03:46.47 ]
>>601
ポインタの場合具体的な変数名を記入すれば回避できるという話では無いんですか?
それにしてもfunc(int*)という宣言は出来たような気がしますけど・・・

607 名前:592 mailto:sage [2012/06/03(日) 20:05:20.92 ]
592はただの知ったかだから無視すればいい

608 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:08:14.92 ]
えーと、じゃあ>>591のソースコードで出るエラーは>>605ぐらいしかなく、
とりあえず他のエラー要因は無いということですか?

609 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 20:23:15.28 ]
>>608
だから循環参照が原因だっつってんじゃねぇかハゲっ

610 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 21:08:37.12 ]
>>608
両方ポインタなら回避できると聞いたんですけど、違うんですか?

611 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 21:15:31.14 ]
ポインタでもCbdfが何かは書かないとわからない。class Cbdf;みたいに


612 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 21:41:55.41 ]
> とりあえず他のエラー要因は無いということですか?
既出のように>>591の適切な場所にCbdfの宣言と;を追加すればとりあえずコンパイルは通る
が、意図したように動くか?

613 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 22:30:35.03 ]
>>612
設計の話になってしまうのですが
マネージャークラスが保持する任意のクラスから、
同じくマネージャークラスが保持する他の任意のクラスにアクセスしたいんです。

ファイルの階層構造みたいな感じで、例えばwindowsの
Program FilesフォルダからWindowsフォルダにアクセスするときローカルディスクC:に戻るみたいな設計です。
C++風に書くと
LocalDiscAddress->GetWindowsAddr()->hoge

でも中々に読みづらい(´・ω・`)

614 名前:デフォルトの名無しさん mailto:sage [2012/06/03(日) 23:43:59.83 ]
メモリポインタを使うと動くよ



615 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 00:21:22.68 ]
親クラス 子クラスがあります
親 hoge = new 子1
親 hoge = new 子2
みたいな感じで1つのオブジェクトで親と子の2クラスを両方扱いたいんです。

これは可能で、キャストすれば子独自のメソッドも使用可能なのはわかるんですが。

今親クラスのオブジェクトの宣言を std::auto_ptr で行なっているため、キャストが上手くいきません。
解決法としては、std::auto_ptr を辞めるしかないんでしょうか?他にいい方法がありましたら、
ご教授お願いします。



616 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 00:22:55.89 ]
std::auto_ptrはそれ無理です
std::unique_ptr使ってください

617 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 01:25:07.50 ]
>>615
auto_ptr でも static_cast<子1&>(*p) すりゃ何の問題も無いだろう。
何か他に制約があるようならコード晒せ。

618 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 01:36:00.60 ]
ダウンキャストするぐらいなら最初から子のauto_ptr使えよ

619 名前:615 mailto:sage [2012/06/04(月) 01:36:05.78 ]
dynamic_cast ではなく static_cast を使うんですか?
これは思いつきませんでした。ありがとうございます。

620 名前:615 mailto:sage [2012/06/04(月) 01:42:13.45 ]
初めは子の auto_ptr を使っていたんですが、コーディングが冗漫になったので
ダウンキャストしようかと。


621 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 01:46:09.88 ]
だったら親と子の型2つのスマポを用意して
同じオブジェクトを参照させるべき
auto_ptrじゃ使えねぇからshared_ptr使うことになるけどね

622 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 02:24:53.64 ]
>>619
型を自分で保証できるなら static_cast でいい。

623 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 02:25:16.25 ]
>>621
それはないわ。

624 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 05:39:45.46 ]
安易なダウンキャストは止めたほうがいい
根底と、派生2つのポインターで管理してる場合は、
派生クラスを差し替えた際、派生のポインターで
コンパイルエラーを引き起こせる。根底のポインターを
1個使い回しダウンキャストする方法だと、
派生を交換しても実行時になるまで、キャストミスに
よるエラーが解らない。関数スコープならそこまで
面倒じゃないが、クラススコープだと問題特定が面倒になる。



625 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 07:07:32.40 ]
UNIX系で C++ 勉強してて最近 Visual C++ 2010 はじめたばかりなんですけど
Visual C++ で時刻を取得するにはどうしたらいいんでしょうか

time.h インクルードしても
time_t time;
は宣言できるんですが
time(&time);
でエラーになります

レベルの低い質問ですいません…

626 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 07:15:56.30 ]
エラーの内容を書けと

627 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 07:18:53.48 ]
すいません><

式には(pointer-to0)関数型が必要です

っていうエラーがでます

628 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 07:25:16.64 ]
うわあ はずかしい
ごめんなさい 自己解決しました

time_t t;
time(&t);

にしたらとおりました
C++は関数と変数で名前空間かぶっちゃだめなんですね
授業でならうの Java が多いのでので知りませんでした
おさわがせしました><

629 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 09:28:28.59 ]
一定時間ごとにメッセージボックスを表示するだけのプログラムを作ったんですけど
メッセージボックスが表示されてないときにプログラム終了するには
タスクマネージャーからきるしかないんでしょうか…
好きなときに終了できるようにするにはどうするのがスマートなんでしょうか…

#include <windows.h>
#include <time.h>

#define INTERVAL 60

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
time_t prev = (time(NULL) + 300) / 1800;

while(1) {
time_t now = (time(NULL) + 300) / 1800;
if(now != prev) {
MessageBox(NULL, TEXT("時間で〜す"), TEXT("時間で〜す"), MB_OK | MB_TOPMOST | MB_SETFOREGROUND);
prev = now;
}

Sleep(INTERVAL * 1000);
}
}

630 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 09:33:59.01 ]
>>629
例えば「好きなとき」をキー入力で伝えることにすれば、てきとうな API でキー入力でも監視すればいいだろう。
心を読んで欲しいということならたぶん無理だ。

631 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 09:43:08.60 ]
あ〜 説明不足でごめんなさい

できればキーじゃなくて直感的に分かりやすい操作で終了dけいるようにしたいんですけど

たとえば常にベースパネルだけ表示させてそこに終了ボタンつけるとか…
下のタスクバーに表示させて右クリック終了みたいにできるとか…
って簡単にできますか?

なにぶん GUI プログラミング初心者なもので…

632 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 09:59:34.74 ]
Shell_NotifyIconでgoogle

633 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 10:05:46.32 ]
あ まさにやりことこれでした!
なんか難しそうですけどがんばってよんでみます!
ほんとにありがとうございました!


634 名前:デフォルトの名無しさん mailto:sage [2012/06/04(月) 10:12:32.33 ]
>>629
今度からは環境を明記の上、環境依存OKのスレに書いてね。



635 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 17:47:30.54 ]
カンマで並列関係にある引数、(a1,a2)や(a,b)の順序が
固定されないのはいいけど
a1,a2,b1,a,b のように並列関係を超えて順序が未規定なのは何でだろう
これのせいで
f(std::unique_ptr<A>(new A()), std::unique_ptr<B>(new B()));
が危険なコードになってしまう

C++11で直せばよかったのに
どうせCと完全互換でないんだから例外に絡むところまで合わせる必要ないのに

636 名前:635 mailto:sage [2012/06/05(火) 17:49:38.33 ]
1行目消しちゃった

f(a(a1(), a2()), b(b1())));

637 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 19:13:51.16 ]
>>635
評価順序の話か?
その危険なコードとやらがどう危険なんだ?

638 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 19:33:33.75 ]
>>637
new A()実行後にunique_ptrに渡される前にnew B()が呼ばれ
Bのコンストラクタが例外を出すとAは解放されない
並列関係を超えない場合はnew A()の結果が必ずunique_ptrに渡されるので、
その後Bが例外を出してもunique_ptrのデストラクタで例外安全は保たれる

↓はshared_ptrでの例、C++11/unique_ptrでも同様
www.boost.org/doc/libs/1_49_0/libs/smart_ptr/shared_ptr.htm
>Avoid using unnamed shared_ptr temporaries to save typing; to see why this is dangerous
>void bad()
>{
>  f(shared_ptr<int>(new int(2)), g());
>}

関数の引数で無名スマポを作ってはいけないという話

639 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 20:01:42.25 ]
一応引数内でもラムダ使えば評価順序をブロック化出来るか
流石にやんないけど
f([&](){return std::unique_ptr<A>(new A());}(), [&](){return std::unique_ptr<A>(new A());}());
ideone.com/hJh8q

640 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 20:06:10.81 ]
>>636
引数の評価順が固定されない方が最適化が楽な処理系があるからに決まってるじゃん

641 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 20:16:38.14 ]
>>640
それと引き換えにスマポを一時オブジェクトにすることで可能な最適化が出来なくなってる

あと評価順の固定とまでは言ってない、並列関係を越えないことの保証と言ってる
f(a(), b(d()), c())がb,c,aという順でもいいけど、
dとbの間にa,cが入らないのを保証して欲しいということ
その制限でも出来なくなる最適化はあるだろうけどさ、トレードオフに見合うかは疑問

642 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 20:37:01.40 ]
>>640
stdcallとcdeclじゃ引数の積み方が逆だし
今更固定にできないよな

643 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 20:51:49.09 ]
>>641
スマポはtemplateが入ってきてからboostから入れられた概念だろ
それに対し引数の評価順はC時代から規定されていない
スマポがC++98/2003にもう入っていたら規定されてたかもね

他にも&&や||のオーバーロードも短絡評価ではなく全部評価してしまう
という元の演算子とは異なる挙動を見せるなど問題点は一杯あるだろ
More Effective C++に書いてあるけど

644 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 20:55:17.19 ]
てか便利な仕様だな
コンパイラーベンダーは、引数で時間のかかる処理呼ばれたら
スレッド化する最適化とかすりゃいいのに



645 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 21:03:14.06 ]
でも並列化で早くなるかどうかは環境次第だしなあ
1コアで並列化しても意味が無いし

646 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 21:06:49.51 ]
アーキティクチャー指定でいいんじゃね
今でもSSEなんてそうだし

647 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 21:28:25.32 ]
数値と文字列で比較はできても結合できる必要は無いな
既に似たような仕組みがあるし

648 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 21:28:43.05 ]
誤爆した・・・

649 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 21:31:12.76 ]
似てるからね

650 名前:デフォルトの名無しさん mailto:sage [2012/06/05(火) 21:32:15.39 ]
どこのを誤爆したかすぐにわかってしまったw

651 名前:デフォルトの名無しさん [2012/06/05(火) 22:23:05.31 ]
このスレいつからC++11板に・・・(笑

現実的に考えて日本語版Effective C++11が出るくらいまで
(2年後くらい?)はC++11普及しない気がする。
もっと悲観的な見方をすれば、爆発的な機能増強のせいで、
C++03に対するC言語ユーザの認識程度にしか広まらなかったりして。
「あ〜C++11ね、コンパイラは使ってるけどね」
そのへんどう考えてるの>偉い人

652 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 12:59:59.19 ]
C++11板とか単一言語しか許されない板怖すぎる

653 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 14:45:53.32 ]
C++11はC++の一方言だ

654 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 10:09:46.63 ]
>>652
auto_ptrは板違いとか言われそうw



655 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 20:46:47.32 ]
まだ規格から消えてないから大丈夫

656 名前:デフォルトの名無しさん mailto:sage [2012/06/07(木) 21:07:08.62 ]
でもdepricatedなんだろ






[ 続きを読む ] / [ 携帯版 ]

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

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