C++14/C++1y
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/28(月) 01:00:22.34http://www.open-std.org/JTC1/SC22/WG21/
Wikipedia
https://en.wikipedia.org/wiki/C%2B%2B14
C++11/C++1y 18
http://toro.2ch.net/test/read.cgi/tech/1365073520/
0232デフォルトの名無しさん
2013/11/27(水) 18:42:03.660233デフォルトの名無しさん
2013/11/27(水) 19:47:52.61二重delete
0234デフォルトの名無しさん
2013/11/27(水) 21:00:11.72shared_ptrのオブジェクトの管理領域は次のようになっている
管理領域の参照カウンタ、オブジェクトの参照カウンタ、オブジェクトへのポインタ、デリータへのポインタ
ここで、shared_ptrは管理領域、オブジェクト両方のカウンタを増減させる。 weak_ptrは管理領域のカウンタのみを変更する。
shared_ptrの破棄によってオブジェクトのカウンタが0になったとき、オブジェクトは解放される。
しかし、管理領域は全てのweak_ptrが破棄されるまで生存する
そして、weak_ptrからshared_ptrを構築する際には、shared_ptrの管理領域へのポインタをweak_ptrが指す管理領域へのポインタへと設定している
0235デフォルトの名無しさん
2013/11/27(水) 21:02:36.06enable_shared_from_thisは内部にweak_ptrを持っていて、shared_ptrのコンストラクタはenable_shared_from_thisを継承したクラスに対しては特殊な動作、すなわち内部のweak_ptrに管理領域へのポインタを設定する動作をする
shared_from_this関数は内部のweak_ptrからshared_ptrを構築する関数で、前述のように同じ管理領域を指すポインタが新たに構築される
全てのスマートポインタが同じ管理領域を指しているので、二重解放は起こらない
0236デフォルトの名無しさん
2013/11/28(木) 01:04:05.46> newして返したboost::shared_ptr
わからん。何を new ?返すってどこからどこに?
> boost::shared_ptrで確保
わからん。 shared_ptr に何かを「確保」する機能なんて無いよね?
さっぱりわからん。
0237デフォルトの名無しさん
2013/11/28(木) 10:41:28.04こいつはたぶんshared_ptrそのものを理解してない
0238デフォルトの名無しさん
2013/11/28(木) 19:18:57.03浅知恵で細工して可読性もパフォーマンスもセキュリティもぶち壊す
C++ではよくあること
0239デフォルトの名無しさん
2013/11/28(木) 22:25:36.50途中で生ポインタに変わっちゃうんであきらめたことがあった
class Hage : public Element
{
virtual void accept(Visitor &v){ v.visit(this); } // <- このとき
};
enable_shared_from_this ってのを知っていたらうまいことできたんだろうか
0240デフォルトの名無しさん
2013/11/29(金) 01:14:30.490241デフォルトの名無しさん
2013/11/29(金) 10:18:00.120242デフォルトの名無しさん
2013/11/29(金) 10:37:25.120243デフォルトの名無しさん
2013/11/29(金) 11:42:28.090244デフォルトの名無しさん
2013/11/29(金) 12:21:41.450245デフォルトの名無しさん
2013/11/29(金) 18:26:52.040246デフォルトの名無しさん
2013/11/29(金) 21:46:12.55Windowsユーザーを嫌いになっても、VC++のことは嫌いにならないください!
0247デフォルトの名無しさん
2013/11/30(土) 07:24:14.220248デフォルトの名無しさん
2013/11/30(土) 12:44:25.520249デフォルトの名無しさん
2013/11/30(土) 15:16:58.200250デフォルトの名無しさん
2013/11/30(土) 21:20:02.980251デフォルトの名無しさん
2013/12/01(日) 09:43:34.66void foo (T val)
{
if (std::is_reference<T>())
std::cout << val << " is reference." << std::endl;
else
std::cout << val << " is not reference." << std::endl;
if (std::is_const<T>())
std::cout << val << " is const." << std::endl;
else
std::cout << val << " is not const." << std::endl;
}
int main()
{
int x;
foo(std::ref(x));
foo(std::cref(x));
}
これちゃんと動く?俺の所では両方とも"not"になってしまうんだが
gcc4.8.1
0252デフォルトの名無しさん
2013/12/01(日) 09:53:12.440253デフォルトの名無しさん
2013/12/01(日) 10:38:08.550254デフォルトの名無しさん
2013/12/01(日) 11:05:40.87const int &自体はconstじゃないから
0255デフォルトの名無しさん
2013/12/01(日) 13:17:53.770256デフォルトの名無しさん
2013/12/01(日) 13:55:11.130257デフォルトの名無しさん
2013/12/01(日) 14:07:07.83>>251のfooのTは
1番目 std::reference_wrapper<int>
2番目 std::reference_wrapper<const int>
になる
0258デフォルトの名無しさん
2013/12/01(日) 15:15:10.610259デフォルトの名無しさん
2013/12/01(日) 15:17:50.10C++ Standard Library 2nd P132
5.4.3 Reference Wrappers
Class std::reference_wrapper<>, declared in <functional>, is used primarily to “feed” references
to function templates that take their parameter by value. For a given type T, this class provides
ref() for an implicit conversion to T& and cref() for an implicit conversion to const T&, which
usually allows function templates to work on references without specialization.
For example, after a declaration such as
template <typename T>
void foo (T val);
by calling
int x;
foo (std::ref(x));
T becomes int&, whereas by calling
int x;
foo (std::cref(x));
T becomes const int&.
0260デフォルトの名無しさん
2013/12/01(日) 16:27:32.400261デフォルトの名無しさん
2013/12/06(金) 19:51:23.63これは難しい・・・
次はC++ Concurrency in Actionを読むけどどこまで理解出来るやら・・・
しかしこれを理解しないとマルチコアのメリットが活かせないわけだしなあ
0262デフォルトの名無しさん
2013/12/06(金) 20:17:59.91マルチスレッドが難しい→まあそうだがスレ違いだ
C++のasyncが難しい→んなもの知らなくてもマルチコアは活かせる
0263デフォルトの名無しさん
2013/12/06(金) 20:26:17.66GC周りと一緒で。
0264デフォルトの名無しさん
2013/12/06(金) 20:27:53.550265デフォルトの名無しさん
2013/12/06(金) 21:00:59.870266デフォルトの名無しさん
2013/12/06(金) 21:25:50.970267デフォルトの名無しさん
2013/12/06(金) 21:33:06.890268デフォルトの名無しさん
2013/12/06(金) 21:39:56.320269デフォルトの名無しさん
2013/12/06(金) 21:58:36.96そんなことも知らないの? 馬鹿なの? 死ぬの?
0270デフォルトの名無しさん
2013/12/06(金) 22:02:52.04相手にしないでおこう
OpenMPはスレ違いだが、threadやasyncはスレ違いではない
れっきとしたC++11の話題だ
0271デフォルトの名無しさん
2013/12/06(金) 22:11:13.550272デフォルトの名無しさん
2013/12/06(金) 22:58:05.20ここはC++第三版(2011/9/1改訂)のスレではない
馬 鹿
0273デフォルトの名無しさん
2013/12/07(土) 00:41:02.430274デフォルトの名無しさん
2013/12/07(土) 02:34:31.91async退学の話ならして良い
0275デフォルトの名無しさん
2013/12/07(土) 05:34:44.72VSに入れられるんだからそれで遊べる
0276デフォルトの名無しさん
2013/12/07(土) 11:24:24.940277デフォルトの名無しさん
2013/12/07(土) 11:27:15.41委員会ドラフトってどうなったの?
無かったことにされるレベルで変更入りまくり?
0278デフォルトの名無しさん
2013/12/07(土) 13:37:43.490279デフォルトの名無しさん
2013/12/07(土) 13:51:57.55http://toro.2ch.net/test/read.cgi/tech/1384818417/
【初心者歓迎】C/C++室 Ver.88【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1384061494/
0280デフォルトの名無しさん
2013/12/07(土) 15:19:00.84特別扱いする必要は無いんだお
0281デフォルトの名無しさん
2013/12/07(土) 16:13:58.10しかし今のC++スレの質の低下はひどいもんだ
あそこでスレッドやらasyncを質問して果たして答えてくれるのやら
試してみよう
0282デフォルトの名無しさん
2013/12/07(土) 18:48:32.640283デフォルトの名無しさん
2013/12/07(土) 19:03:22.930284デフォルトの名無しさん
2013/12/07(土) 19:48:05.55VC2013?
>>281
実際にthread,asyncを使っている奴は少ないだろうからな
対応遅すぎたって感じだし
0285デフォルトの名無しさん
2013/12/07(土) 21:20:09.07threadは実際にマルチスレッドプログラミングをするにはプリミティブ過ぎて使いにくいから
asyncが考えられたんだろうが、まだ完成度が低い
それにデッドロックやレース状態、リソーススタベーションを起こさずにスラスラプログラムを
書ける奴がどの位いるやら
C++14でもっとまともになるっしょ
0286デフォルトの名無しさん
2013/12/07(土) 21:36:02.040287デフォルトの名無しさん
2013/12/07(土) 22:04:49.66"clang visual studio 2013" とかでぐぐればいくらでも出てくるだろ
0288デフォルトの名無しさん
2013/12/08(日) 05:08:13.45禿も、またプログラミング言語C++書き直しやん。
0289デフォルトの名無しさん
2013/12/08(日) 08:32:22.14一番対応が早くて楽だしな
0290デフォルトの名無しさん
2013/12/08(日) 11:06:23.03ぜんぜんないよ!失敗談はたまにでてくるけど
0291デフォルトの名無しさん
2013/12/08(日) 13:11:37.440292デフォルトの名無しさん
2013/12/08(日) 14:14:26.480293デフォルトの名無しさん
2013/12/08(日) 14:48:39.05今すぐC++14が使える
0294デフォルトの名無しさん
2013/12/08(日) 15:39:04.900295デフォルトの名無しさん
2013/12/08(日) 16:43:50.07clang関係のリクルート出してた件?
VSで採用って話までは疑問視されてたような
でも何やらされてるんだろうね
0296デフォルトの名無しさん
2013/12/08(日) 17:19:07.49疑問視されてたって話は知らなかったけど
IntelliSenseとかIDE側で使っているのかも知れないね
0297デフォルトの名無しさん
2013/12/08(日) 17:29:11.81使ってたらコードが混ざってるだろ。
VSでclangを使うことを想定した作業とか、
差し替えた時の互換性を高める作業とか、そのへんじゃねーの?
0298デフォルトの名無しさん
2013/12/08(日) 17:43:25.22http://hsafoundation.com/bringing-camp-beyond-windows-via-clang-llvm/
0299デフォルトの名無しさん
2013/12/08(日) 19:52:19.02規格のC++じゃ時代遅れなのかもな。C#で脱C++を開始した感じがあるからな
0300デフォルトの名無しさん
2013/12/08(日) 20:26:03.490301デフォルトの名無しさん
2013/12/08(日) 20:35:43.88規格のC++じゃヘテロ対応できないだろ。GPU載っているCPUが普通だし
そんなのに対応するのにC++プラスアルファが必要で独自拡張。
0302デフォルトの名無しさん
2013/12/08(日) 21:02:22.520303デフォルトの名無しさん
2013/12/09(月) 00:05:43.360304デフォルトの名無しさん
2013/12/09(月) 00:24:11.61clangをビルドしたいのかclangでビルドしたいのか。
0305デフォルトの名無しさん
2013/12/09(月) 00:26:22.84それ、プラスするもんであって後続として元の物を置換するもんではないだろ。
0306デフォルトの名無しさん
2013/12/09(月) 00:45:43.62C++AMP、openCL、CUDA等のGPUベンダの言語...
先端大好きのC++14野郎のお前らはGPGPUプログラムしている?
0307デフォルトの名無しさん
2013/12/09(月) 00:59:40.49ClangをVS2013に統合したいんじゃないのかな
0308デフォルトの名無しさん
2013/12/09(月) 01:04:03.940309デフォルトの名無しさん
2013/12/09(月) 01:09:58.35いやだから…
単に「clangとの互換性向上(統合含む)目的」とか
「MSがC++ AMP絡みでclang組み込む目的」とか
って推測なら、ああそうかもね、で済む話だろ
何故か>>299が「C++ AMP」が「MSのC++後続の標準の言語」
だとか変なこと言い出すから>>300みたいなツッコミされてんだよ
0310デフォルトの名無しさん
2013/12/09(月) 01:16:50.36アンカミスかよ…変だとは思ったけど>>299,301ならやりかねないと思ってその流れでレスしちまったorz
まず間違いなくそっちだろうけど、「clang"の"ビルド」と「clang"で"ビルド」を間違えてるなら指摘すべきじゃないの?
0311デフォルトの名無しさん
2013/12/09(月) 06:35:27.00visualCみたいに使えるのかな?
他にやることあって出来ないんだよね
0312デフォルトの名無しさん
2013/12/09(月) 06:50:43.070313303
2013/12/09(月) 10:30:36.340314デフォルトの名無しさん
2013/12/09(月) 10:34:23.110315デフォルトの名無しさん
2013/12/09(月) 10:50:48.500316デフォルトの名無しさん
2013/12/09(月) 12:20:25.97Windows でやりたいのなら
教えて君には厳しすぎる。あきらめろん
ちなみに自称上級者の俺も(ry
0317デフォルトの名無しさん
2013/12/10(火) 08:42:48.32マジメに調べてんの?
http://www.ishani.org/web/articles/code/clangvsx/
0318デフォルトの名無しさん
2013/12/10(火) 09:06:11.37http://llvm.org/docs/GettingStartedVS.html
こんなんもあるぞ
0319デフォルトの名無しさん
2013/12/10(火) 09:06:59.17cのすれで聞けよ
0320デフォルトの名無しさん
2013/12/10(火) 16:08:58.08炎上学習法という正式名称もあるみたいだけどw、このスレには通用しないから
0321デフォルトの名無しさん
2013/12/10(火) 18:11:33.09最悪
お前と同じ
0322デフォルトの名無しさん
2013/12/13(金) 23:25:05.29D言語ってどうなった?消えた?
0323デフォルトの名無しさん
2013/12/13(金) 23:31:56.250324デフォルトの名無しさん
2013/12/13(金) 23:38:21.13Dもそうなるのか?まさかな…
0325デフォルトの名無しさん
2013/12/14(土) 00:23:27.61実用には2003をお使い下さい
0326デフォルトの名無しさん
2013/12/14(土) 00:41:41.83C++er なら割と簡単に Haskell を使い熟せると思うなぁ
0327デフォルトの名無しさん
2013/12/14(土) 05:50:08.94関数を作ったり使ったりはわりと簡単
コンピネータまでいくと概念を理解できるかどうかだけど
問題は副作用の記述が面倒なところ
最初は文字列の表示もよくわからなかったよ
0328デフォルトの名無しさん
2013/12/14(土) 08:27:20.840329デフォルトの名無しさん
2013/12/14(土) 10:37:11.590xとか言い続けて2009年までに出せなかった能無し共の仕事は信用ならない
0330デフォルトの名無しさん
2013/12/14(土) 11:11:50.600331デフォルトの名無しさん
2013/12/14(土) 11:14:27.04■ このスレッドは過去ログ倉庫に格納されています