エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
前スレ
【初心者歓迎】C/C++室 Ver.99【環境依存OK】
http://echo.2ch.net/test/read.cgi/tech/1469177649/
探検
【初心者歓迎】C/C++室 Ver.100【環境依存OK】 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/11/06(日) 22:58:02.60ID:dU5z27As
632デフォルトの名無しさん
2017/04/26(水) 02:18:40.34ID:Kw1ZNGm3 restrict無しが想像つかないってどういうことだろ
633デフォルトの名無しさん
2017/04/26(水) 09:07:13.88ID:bRGeq+mw restrict使ったことないなあ
大きく最適化されるの?
大きく最適化されるの?
634デフォルトの名無しさん
2017/04/26(水) 09:13:52.17ID:rDz6/6sg 最適化はあんま気にしてなくて意味的なものかな
memcpyとmemmoveみたいな
memcpyとmemmoveみたいな
635デフォルトの名無しさん
2017/04/26(水) 09:20:57.15ID:A4NmaPdj そう言う機能はメーカー独自実装でC99決まるずっと前からスタンダードだったから、C99って実感が無い。。。
636デフォルトの名無しさん
2017/04/26(水) 11:36:23.97ID:O9yeoh6Z637デフォルトの名無しさん
2017/05/05(金) 00:51:04.53ID:evlI6rq7 void func(hoge)
int hoge;
{}
こんな書き方があったん?
int hoge;
{}
こんな書き方があったん?
638デフォルトの名無しさん
2017/05/05(金) 01:30:10.63ID:PzvORh1V >>637
詳しくは k&r style とかでググればいいけど今時知る必要はほぼないと思う
詳しくは k&r style とかでググればいいけど今時知る必要はほぼないと思う
639デフォルトの名無しさん
2017/05/05(金) 15:05:47.25ID:9iyukdGg K&R1 だね、引数の型チェックができないから不便かつミスを誘発しやすい
640デフォルトの名無しさん
2017/05/07(日) 00:55:58.17ID:uDdo3knt 使われなくなった過去の異物に優劣語り出すとか
老人やべーな
老人やべーな
641片山博文MZ ◆T6xkBnTXz7B0
2017/05/07(日) 00:58:01.39ID:gTai4K61 ×異物
○遺物
○遺物
642デフォルトの名無しさん
2017/05/07(日) 01:41:21.28ID:zkvqzaCu 誰も優を語ってない訳だが
643デフォルトの名無しさん
2017/05/07(日) 15:54:40.58ID:s2OM55fz ストラウストラップの本って読む価値ありますか?
644デフォルトの名無しさん
2017/05/07(日) 22:28:38.36ID:fUCVOwEA 著書全般の基本的な傾向としては万人向けの価値はない
物事の意味や本質を学び考え悩み理解しようとする人向けの本であって
うわべだけの丸暗記やコピペで即結論や結果を求める人向けの本ではないから
物事の意味や本質を学び考え悩み理解しようとする人向けの本であって
うわべだけの丸暗記やコピペで即結論や結果を求める人向けの本ではないから
645デフォルトの名無しさん
2017/05/07(日) 22:36:06.44ID:f9jMnLHr 読む価値はあるが嘘が多いので騙されない注意が必要
646デフォルトの名無しさん
2017/05/07(日) 23:30:36.93ID:s2OM55fz647デフォルトの名無しさん
2017/05/19(金) 15:26:03.09ID:49hF9eg/ はぁ〜〜〜〜
安易にC++に手を出すんじゃなかった
安易にC++に手を出すんじゃなかった
648デフォルトの名無しさん
2017/05/20(土) 12:15:32.26ID:Niypv3FQ 変人や御用達の言語だからな
馬鹿のくせにプライド高い老害しか使ってないイメージ
馬鹿のくせにプライド高い老害しか使ってないイメージ
649デフォルトの名無しさん
2017/05/20(土) 12:51:51.67ID:Nls5mnQ9 >>648
その手の人らの声が大きいだけだよ。特にこんなところでは。
その手の人らの声が大きいだけだよ。特にこんなところでは。
650デフォルトの名無しさん
2017/05/20(土) 18:23:23.08ID:PYbACk+S みんな黙ってC++だよ
651デフォルトの名無しさん
2017/05/23(火) 00:42:13.85ID:9/IkIyOw ちょっとした確認なんだけどさ、
デストラクタが空っぽ (デフォルトデストラクタ) でもオブジェクトを後始末するための何らかの処理はするよね?
よくあるスライシングの問題で、
・クラス A をクラス B が継承している
・クラス A のデストラクタは virtual が付いていない
・クラス B のデストラクタはデフォルトデストラクタ
・クラス B はメンバ変数を持っていない
・B* を A* にキャストしたものを delete
という状況だと見かけ上はクラス B のオブジェクトには後始末すべきものは何もないように見えるけど、
デストラクタが呼ばれないのはやっぱあかんよな?
デストラクタが空っぽ (デフォルトデストラクタ) でもオブジェクトを後始末するための何らかの処理はするよね?
よくあるスライシングの問題で、
・クラス A をクラス B が継承している
・クラス A のデストラクタは virtual が付いていない
・クラス B のデストラクタはデフォルトデストラクタ
・クラス B はメンバ変数を持っていない
・B* を A* にキャストしたものを delete
という状況だと見かけ上はクラス B のオブジェクトには後始末すべきものは何もないように見えるけど、
デストラクタが呼ばれないのはやっぱあかんよな?
652デフォルトの名無しさん
2017/05/23(火) 04:48:39.03ID:pt6Ia/HA うん
653デフォルトの名無しさん
2017/05/23(火) 09:20:18.86ID:J4YcG+3k654デフォルトの名無しさん
2017/05/23(火) 10:48:08.30ID:Ip/q9ayQ 未定義動作多すぎだなこの言語。
よくここまで生き残れたな。
よくここまで生き残れたな。
655デフォルトの名無しさん
2017/05/23(火) 11:01:35.25ID:3W0XlzKr 未定義部分を各社が好きに定義してたからね。
VC++だとこう動くけど、g++だとこう動く、みたいな。
VC++だとこう動くけど、g++だとこう動く、みたいな。
656デフォルトの名無しさん
2017/05/23(火) 12:45:18.14ID:hcbwXZ+h >>653
横からだけど、それまじ?
出来れば、規格で書かれてる場所教えて欲しい。
不安に思いながらも、一個作っちゃったんだよな…
動作確認済みだから、直ちに問題があるわけではないんだけど、未定義と聞くと将来的には修正しておきたい…
横からだけど、それまじ?
出来れば、規格で書かれてる場所教えて欲しい。
不安に思いながらも、一個作っちゃったんだよな…
動作確認済みだから、直ちに問題があるわけではないんだけど、未定義と聞くと将来的には修正しておきたい…
657デフォルトの名無しさん
2017/05/23(火) 13:25:39.67ID:I6yYOIGb >規格で書かれてる場所教えて欲しい
delete式の説明の最初のページに書かれていることが探せないというのは
場所を教えられたところでそもそも規格を保有していないのではないか
delete式の説明の最初のページに書かれていることが探せないというのは
場所を教えられたところでそもそも規格を保有していないのではないか
658デフォルトの名無しさん
2017/05/23(火) 13:25:57.75ID:YY4qnA2y >>656
意図して作ったの?バグじゃなくて?
意図して作ったの?バグじゃなくて?
659デフォルトの名無しさん
2017/05/23(火) 15:16:19.75ID:0tdmeFKn htmlとその解釈に悩まされるよりはマシ
660653
2017/05/23(火) 15:21:53.55ID:Ek6JChT/ >>656
俺もworking draftしかないけどn3690の5.3.5の3段落目
In the first alternative (delete object), if the static type of the object to be deleted is different from its
dynamic type, the static type shall be a base class of the dynamic type of the object to be deleted and the
static type shall have a virtual destructor or the behavior is undefined.
俺もworking draftしかないけどn3690の5.3.5の3段落目
In the first alternative (delete object), if the static type of the object to be deleted is different from its
dynamic type, the static type shall be a base class of the dynamic type of the object to be deleted and the
static type shall have a virtual destructor or the behavior is undefined.
661デフォルトの名無しさん
2017/05/23(火) 17:00:54.34ID:EZJXMIkJ C++があまりに不安な要素をたくさん抱えているお陰で未だに新生言語が多数出てくると
思えばいいじゃん?
思えばいいじゃん?
662デフォルトの名無しさん
2017/05/23(火) 19:47:58.75ID:rsJqfxq0 継承すんなよ
663デフォルトの名無しさん
2017/05/24(水) 00:55:48.61ID:WEdzXALv >>658
意図して作った。
悪しき方法とは思いつつも、stringクラスにsprintf 的な機能のメンバ関数作ったった。
その時、stringクラスの全機能を実装するのがめんどくさかったんで public 継承で。
メモリレイアウトは一切変わらない事を見切った上でだが、未定義だとすると…ヤベ。
意図して作った。
悪しき方法とは思いつつも、stringクラスにsprintf 的な機能のメンバ関数作ったった。
その時、stringクラスの全機能を実装するのがめんどくさかったんで public 継承で。
メモリレイアウトは一切変わらない事を見切った上でだが、未定義だとすると…ヤベ。
664デフォルトの名無しさん
2017/05/24(水) 00:56:49.58ID:WEdzXALv ん、まあ、deleteは使わないからセーフか?
665デフォルトの名無しさん
2017/05/24(水) 01:00:58.95ID:WEdzXALv666デフォルトの名無しさん
2017/05/24(水) 12:01:47.91ID:/RGvDc8r メモリレイアウトが変わらない範囲で既存のクラスを再オープンして機能を追加する方法の提案だけは出てたような気がする。
667デフォルトの名無しさん
2017/05/24(水) 12:06:31.74ID:/RGvDc8r668デフォルトの名無しさん
2017/05/24(水) 13:51:37.65ID:OqDgfclu669デフォルトの名無しさん
2017/05/24(水) 14:15:44.36ID:ttKQmf2U >>668
std::vector<std::string>に入れたら死ぬってことだよね??
std::vector<std::string>に入れたら死ぬってことだよね??
670デフォルトの名無しさん
2017/05/24(水) 14:47:39.17ID:/RGvDc8r >>669
ポインタを std::string* に入れてなおかつそれを std::string* のままで delete したらあかんという話。
値を std::string にキャストする分にはなにも問題はない。
ポインタを std::string* に入れてなおかつそれを std::string* のままで delete したらあかんという話。
値を std::string にキャストする分にはなにも問題はない。
671デフォルトの名無しさん
2017/05/24(水) 15:58:36.11ID:ttKQmf2U >>670
だからstd::vector<std::string>にいれらんないよね?
だからstd::vector<std::string>にいれらんないよね?
672デフォルトの名無しさん
2017/05/24(水) 17:02:32.05ID:/RGvDc8r >>671
何を言いたいのかよくわからんが……。
std::string を継承した型は、レイアウトが変わらないようにしたからと言って (キャストなしで) std::string には入らないよ。
言いたいことを具体的にコードで示してくれんか
何を言いたいのかよくわからんが……。
std::string を継承した型は、レイアウトが変わらないようにしたからと言って (キャストなしで) std::string には入らないよ。
言いたいことを具体的にコードで示してくれんか
673デフォルトの名無しさん
2017/06/03(土) 20:46:07.15ID:/cDPk3Lb674デフォルトの名無しさん
2017/06/04(日) 05:01:25.52ID:a4MXR2y0 テンプレート構造体を作りその配列をクラスのメンバに含めたいのですが上手くいきません。
作りたいクラスはスタックとして使えるもので、
主な作りたいメンバは、二つの型のメンバ変数を持つ上記のテンプレート構造体の配列。
引数としてテンプレート構造体を持ち、上記の配列に順次プッシュしていく関数。
最後にプッシュされた構造体をポップする関数、という3つです。
どのようにすればテンプレート構造体をクラスのメンバにすることが出来るのでしょうか?
もしくは、このような機能を持つクラスを実装するためにはどうすればいいのでしょうか?
よろしくお願いします。
作りたいクラスはスタックとして使えるもので、
主な作りたいメンバは、二つの型のメンバ変数を持つ上記のテンプレート構造体の配列。
引数としてテンプレート構造体を持ち、上記の配列に順次プッシュしていく関数。
最後にプッシュされた構造体をポップする関数、という3つです。
どのようにすればテンプレート構造体をクラスのメンバにすることが出来るのでしょうか?
もしくは、このような機能を持つクラスを実装するためにはどうすればいいのでしょうか?
よろしくお願いします。
675デフォルトの名無しさん
2017/06/04(日) 08:23:07.29ID:7To+hzFq まず
using テンプレート構造体の型 = 構造体テンプレート<型パラメーター>;
をします
using テンプレート構造体の型 = 構造体テンプレート<型パラメーター>;
をします
676デフォルトの名無しさん
2017/06/04(日) 11:02:02.70ID:4s9JqZC9677デフォルトの名無しさん
2017/06/04(日) 11:02:24.41ID:4s9JqZC9678デフォルトの名無しさん
2017/06/04(日) 21:12:43.78ID:0J0aNZ4Z 質問への回答はいいとして
たった100行のコードによくもここまでUNKOを詰め込めるものだと感心
たった100行のコードによくもここまでUNKOを詰め込めるものだと感心
679デフォルトの名無しさん
2017/06/04(日) 21:24:21.29ID:4s9JqZC9 >>678
どこ?教えて
どこ?教えて
680デフォルトの名無しさん
2017/06/04(日) 22:06:48.73ID:0J0aNZ4Z >>679
細かくは見てないがぱっと見て気になったのは、
殆どが「= default」で済むものを自前で定義する所とか
K,Vの左辺値が渡せないunkoコンストラクターとか
左辺値が渡せないpush関数とか
key_value_pair_stackの外で定義されたdefault_max_sizeとか
禁断の「value_type pop()」とか
ムーブ代入だけ何故か無いとか
例外安全を考慮しないswapとか
constexprの付いていない関数が多数とか
constが付いていないsize関数とか
質問者が「テンプレート構造体」と「クラス」の言葉を使い分けているのにわざわざクラステンプレートにする所とか
「value_type::value_type」の二つのvalue_typeの意味が違うとか
スワップする気皆無の「swap(key_value_pair&& other)」とか
あと
何故付いているのかわからない「const auto」のconstとか
キーバリューペアをシーケンシャルコンテナーに詰める例も地味にUNKO
細かくは見てないがぱっと見て気になったのは、
殆どが「= default」で済むものを自前で定義する所とか
K,Vの左辺値が渡せないunkoコンストラクターとか
左辺値が渡せないpush関数とか
key_value_pair_stackの外で定義されたdefault_max_sizeとか
禁断の「value_type pop()」とか
ムーブ代入だけ何故か無いとか
例外安全を考慮しないswapとか
constexprの付いていない関数が多数とか
constが付いていないsize関数とか
質問者が「テンプレート構造体」と「クラス」の言葉を使い分けているのにわざわざクラステンプレートにする所とか
「value_type::value_type」の二つのvalue_typeの意味が違うとか
スワップする気皆無の「swap(key_value_pair&& other)」とか
あと
何故付いているのかわからない「const auto」のconstとか
キーバリューペアをシーケンシャルコンテナーに詰める例も地味にUNKO
681デフォルトの名無しさん
2017/06/04(日) 22:21:08.74ID:4s9JqZC9682デフォルトの名無しさん
2017/06/04(日) 23:59:40.42ID:4s9JqZC9683デフォルトの名無しさん
2017/06/05(月) 07:13:59.57ID:dSqD3vhj >>682
20秒ほど眺めたがとりあえず3つほどなおした方がいい
・key_のメンバー宣言に{}が付いていないと、修正前と同じ動作にならない
・popの戻りはvoidにした方が無難
・clear()しても要素のデストラクターが呼ばれないのでstatic_assert(std::is_trivial_destructible<element_type>::value,"未対応")しとくのが礼儀
20秒ほど眺めたがとりあえず3つほどなおした方がいい
・key_のメンバー宣言に{}が付いていないと、修正前と同じ動作にならない
・popの戻りはvoidにした方が無難
・clear()しても要素のデストラクターが呼ばれないのでstatic_assert(std::is_trivial_destructible<element_type>::value,"未対応")しとくのが礼儀
684デフォルトの名無しさん
2017/06/05(月) 08:02:20.82ID:SbeuyTlX >>683
一つ目だけ意味がわからない…28行目のこと??なんで?
一つ目だけ意味がわからない…28行目のこと??なんで?
685デフォルトの名無しさん
2017/06/05(月) 08:16:13.98ID:dSqD3vhj >>684
その通り28行目
struct X {
some_type m1 /* {} */;
X() = default;
};
ここでsome_typeの初期化{}が無いとm1は未初期化になるし、
some_typeにデフォルトコンストラクターが無ければX()の「=default」が「=delete」扱いになる
その通り28行目
struct X {
some_type m1 /* {} */;
X() = default;
};
ここでsome_typeの初期化{}が無いとm1は未初期化になるし、
some_typeにデフォルトコンストラクターが無ければX()の「=default」が「=delete」扱いになる
686デフォルトの名無しさん
2017/06/05(月) 08:25:22.25ID:CMNJImQI687デフォルトの名無しさん
2017/06/05(月) 12:04:31.71ID:dSqD3vhj >>686
1:Yes, 2:Yes
struct X {string m; X()=default;};
struct X {int m{}; X()=default;};
struct X {int m; X() : m() {}};
はmが初期化される
struct X {int m; X()=default;};
が初期化されない
1:Yes, 2:Yes
struct X {string m; X()=default;};
struct X {int m{}; X()=default;};
struct X {int m; X() : m() {}};
はmが初期化される
struct X {int m; X()=default;};
が初期化されない
688デフォルトの名無しさん
2017/06/05(月) 12:34:51.89ID:CMNJImQI >>687
ありがとう
ありがとう
689デフォルトの名無しさん
2017/06/05(月) 21:07:12.97ID:YRHwBsQU 空のvectorをpop_backした時の仕様がクソ過ぎるC++
690デフォルトの名無しさん
2017/06/05(月) 23:54:31.67ID:vnQWBbWO691デフォルトの名無しさん
2017/06/06(火) 07:02:51.57ID:ueF+TYcD 気にすんな
簡単なことすんのにもこの難易度な言語がおかしい
簡単なことすんのにもこの難易度な言語がおかしい
692デフォルトの名無しさん
2017/06/06(火) 17:35:50.84ID:zF6NOqag というかほとんどがムーブとかconst版とかconstexprとか、とことん丁寧にやろうとした場合の作法まで
含めた突っ込みだから、初心者が気にするような話ではないなw
そもそも、最近右辺値参照使ったコードを「書かないといけない」と誤解してる人が多い気がするんだが
あんなもん「ポインタのすげ替えで済む場合」にそれを出来るようにするための仕組みで、
まず左辺値版を書いた上で、右辺値版も書けば速くなるよ、ってだけだよね?
上記に該当しようがしまいがまず左辺値版は必須だし(左辺値を弾きたいならともかく)
該当する場合に高速化したければ右辺値版も書けばいいというだけで
これまた初心者が気にするような話ではないw
含めた突っ込みだから、初心者が気にするような話ではないなw
そもそも、最近右辺値参照使ったコードを「書かないといけない」と誤解してる人が多い気がするんだが
あんなもん「ポインタのすげ替えで済む場合」にそれを出来るようにするための仕組みで、
まず左辺値版を書いた上で、右辺値版も書けば速くなるよ、ってだけだよね?
上記に該当しようがしまいがまず左辺値版は必須だし(左辺値を弾きたいならともかく)
該当する場合に高速化したければ右辺値版も書けばいいというだけで
これまた初心者が気にするような話ではないw
693デフォルトの名無しさん
2017/06/06(火) 18:16:24.12ID:uCSRK7Ay694デフォルトの名無しさん
2017/06/06(火) 18:58:32.67ID:zF6NOqag 違うというなら例ぐらい挙げてくれよ
695デフォルトの名無しさん
2017/06/06(火) 19:28:29.10ID:+mNKSnZM そういうのはスルーでok
696デフォルトの名無しさん
2017/06/06(火) 22:23:00.44ID:uCSRK7Ay697デフォルトの名無しさん
2017/06/06(火) 23:19:35.94ID:zF6NOqag >>696
ドヤ顔で用語を挙げろなどとは一言も言っていないのだがw
ドヤ顔で用語を挙げろなどとは一言も言っていないのだがw
698デフォルトの名無しさん
2017/06/07(水) 00:10:56.23ID:xZGjq0dG699デフォルトの名無しさん
2017/06/07(水) 00:22:15.23ID:2ipgwMGH 教える側界隈の高度なやり取りだけで終始しないでほしいんですけど、、
700デフォルトの名無しさん
2017/06/07(水) 00:27:13.62ID:gn2mDiBA >>699
ヒント:unique_ptrのムーブは性能目的ではない
ヒント:unique_ptrのムーブは性能目的ではない
701デフォルトの名無しさん
2017/06/07(水) 00:54:38.14ID:CXRZvrBM >>698
こっちは疑問形で書いてんだから普通に指摘してくれりゃいいんじゃねーの?
なんかコンプでも抱えてんのかね
unique_ptrみたいな所有権の移動の実現(を楽に実装する)は確かに気付いてなかったが
初心者が気にするような話ではない&いつも書かなければならないものではない、に対する反論になってないよな
ちょっとした指摘をそこまで煽って書ける神経が理解できん
こっちは疑問形で書いてんだから普通に指摘してくれりゃいいんじゃねーの?
なんかコンプでも抱えてんのかね
unique_ptrみたいな所有権の移動の実現(を楽に実装する)は確かに気付いてなかったが
初心者が気にするような話ではない&いつも書かなければならないものではない、に対する反論になってないよな
ちょっとした指摘をそこまで煽って書ける神経が理解できん
703デフォルトの名無しさん
2017/06/07(水) 08:16:07.46ID:PxDlVTZD >>701
君は概念を理解できないだろうけど
コピーされては困るから「ムーブ」「セマンティクス」
なんだよ
性能に余裕があってもね
右辺値参照がなかったらスマポをvectorに入れることすらままならないよ
君は概念を理解できないだろうけど
コピーされては困るから「ムーブ」「セマンティクス」
なんだよ
性能に余裕があってもね
右辺値参照がなかったらスマポをvectorに入れることすらままならないよ
704デフォルトの名無しさん
2017/06/07(水) 18:47:00.97ID:CXRZvrBM705デフォルトの名無しさん
2017/06/10(土) 17:42:01.48ID:SxYi4azU706デフォルトの名無しさん
2017/06/10(土) 20:12:18.00ID:JqmNS/A3 >>705
topとpop作れってことが言いたいんだろう多分
topとpop作れってことが言いたいんだろう多分
707デフォルトの名無しさん
2017/06/11(日) 22:14:52.88ID:iu5DR0Hy 「なぜなんだ?pop の戻りがナルなら空であることを示せてべんりだろう?」
↓
「topとpop作れ」
これがアスペというやつか
↓
「topとpop作れ」
これがアスペというやつか
708デフォルトの名無しさん
2017/06/11(日) 22:35:45.30ID:q49UmmFG お前アスペ言いたいだけだろ w
709はつみつ餃子 ◆8X2XSCHEME
2017/06/12(月) 01:27:35.05ID:M0cidITY std::queue では pop と front に分けられてるからその習慣に合わせた方がいいってことじゃない?
ただ、 queue のデザインが出来たときはムーブがなかったから先頭要素にアクセスするために
(参照でなく) 値を返すと同時にコンテナから削除するのはコピーが発生して非効率ってこともあってこうなってると思う。
今ならもっと別の選択肢はあっていいと思う。
まあ、古いデザインを引き摺っている部分はあるとは言っても標準ライブラリはすごくよく考えられてるから、
どうしてそうなっているのかを考察したり真似したりするのは良いと思う。
ただ、 queue のデザインが出来たときはムーブがなかったから先頭要素にアクセスするために
(参照でなく) 値を返すと同時にコンテナから削除するのはコピーが発生して非効率ってこともあってこうなってると思う。
今ならもっと別の選択肢はあっていいと思う。
まあ、古いデザインを引き摺っている部分はあるとは言っても標準ライブラリはすごくよく考えられてるから、
どうしてそうなっているのかを考察したり真似したりするのは良いと思う。
710デフォルトの名無しさん
2017/06/12(月) 01:48:34.70ID:E1Ahh3IF はつみつ
711デフォルトの名無しさん
2017/06/12(月) 17:36:41.84ID:t42bNJ0A >>709は健常者
ただ理由は性能でなくて例外安全だろう
ただ理由は性能でなくて例外安全だろう
712デフォルトの名無しさん
2017/06/17(土) 07:59:16.34ID:bupTq8cx クラスの演算子オバーロードの
書き方全種類教えてください。
operator (*)やoperator ""や
operator ->()辺りが特に解説が少なくて
理解するのに困ってます。
よろしくお願いします。
書き方全種類教えてください。
operator (*)やoperator ""や
operator ->()辺りが特に解説が少なくて
理解するのに困ってます。
よろしくお願いします。
713はちゃめちゃ餃子 ◆8X2XSCHEME
2017/06/17(土) 09:10:34.91ID:a/4tSU3I >>712
ユーザー定義リテラルについてはこのあたりが詳しいと思う。
https://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml#over.literal
https://cpprefjp.github.io/lang/cpp11/user_defined_literals.html
名前空間名で修飾することができないので、
namespace 内で定義されたものについては using してからでないと使えないという規則が微妙に気持ち悪い。
あまりお勧めしない。
標準ライブラリが提供している complex 型のリテラルや時間のリテラルもそんなに頻繁には使わなさそうだし、
よく使うのは string 型のリテラルくらいかなぁ。
ユーザー定義リテラルについてはこのあたりが詳しいと思う。
https://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml#over.literal
https://cpprefjp.github.io/lang/cpp11/user_defined_literals.html
名前空間名で修飾することができないので、
namespace 内で定義されたものについては using してからでないと使えないという規則が微妙に気持ち悪い。
あまりお勧めしない。
標準ライブラリが提供している complex 型のリテラルや時間のリテラルもそんなに頻繁には使わなさそうだし、
よく使うのは string 型のリテラルくらいかなぁ。
714デフォルトの名無しさん
2017/06/17(土) 11:23:50.84ID:cPfPWWru まずウェブブラウザーで
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2017/
をアクセスします。
次に「N4660」のPDFをダウンロードします。
右下に336と書かれたページ(16.5 Overloaded operators)を開きます。
そこから5ページほどスクロールしながら、英文を見ずにコードだけ眺めます。
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2017/
をアクセスします。
次に「N4660」のPDFをダウンロードします。
右下に336と書かれたページ(16.5 Overloaded operators)を開きます。
そこから5ページほどスクロールしながら、英文を見ずにコードだけ眺めます。
715デフォルトの名無しさん
2017/06/17(土) 11:24:51.65ID:cPfPWWru oops...
× N4660
○ N4659
× N4660
○ N4659
>>712
ユーザー定義リテラルについては書かれていないが、それでも演算子オーバーロードについては
http://stlalv.la.coocan.jp/
が詳しいのではないか?はちみつさんがこれに触れないのは不思議‥
ユーザー定義リテラルについては書かれていないが、それでも演算子オーバーロードについては
http://stlalv.la.coocan.jp/
が詳しいのではないか?はちみつさんがこれに触れないのは不思議‥
717デフォルトの名無しさん
2017/06/17(土) 12:24:13.05ID:qMkdrUOQ あ、うんでもなんか、
http://stlalv.la.coocan.jp/HungarianNotation.html
↑のページ読んだだけでもうダメなんじゃないかって
文章もなんか危ないというか危ういし
とおもったらQZか
な〜んだ納得
http://stlalv.la.coocan.jp/HungarianNotation.html
↑のページ読んだだけでもうダメなんじゃないかって
文章もなんか危ないというか危ういし
とおもったらQZか
な〜んだ納得
718デフォルトの名無しさん
2017/06/17(土) 13:21:59.00ID:ir1eTLN6719はちみつ行者 ◆8X2XSCHEME
2017/06/17(土) 14:21:54.44ID:a/4tSU3I720デフォルトの名無しさん
2017/06/17(土) 14:31:32.36ID:bupTq8cx 712です。
短いコードを打ちこんで動作を確認しました。
皆さん有り難うございました。
(ちょっと気になったのは
void operator [](std::initializer_list <int > list);
これがvsc2015では動作しなかったことぐらいです。
)
短いコードを打ちこんで動作を確認しました。
皆さん有り難うございました。
(ちょっと気になったのは
void operator [](std::initializer_list <int > list);
これがvsc2015では動作しなかったことぐらいです。
)
721653
2017/06/17(土) 16:42:18.70ID:YXyzn6OG それ戻り値がvoidだからじゃ
vs2015で試したら添字演算子の結果を使わなければvoidのままでも動いたし
戻り値返すようにしたら普通の使い方もできたよ
vs2015で試したら添字演算子の結果を使わなければvoidのままでも動いたし
戻り値返すようにしたら普通の使い方もできたよ
722はちみつ餃子 ◆8X2XSCHEME
2017/06/17(土) 18:56:32.74ID:a/4tSU3I 話がそれるけど operator[] に initializer_list を渡したいときってどんなとき?
次元が動的に決まるようなコンテナとか?
次元が動的に決まるようなコンテナとか?
723デフォルトの名無しさん
2017/06/18(日) 00:16:25.00ID:sDQUBcQX xyの二つの値を渡したかったんだろ
言わせんな恥ずかしい
言わせんな恥ずかしい
724はちみつ餃子 ◆8X2XSCHEME
2017/06/18(日) 00:50:52.82ID:fX2BYeVR void って C++ の予約語の中ではカッコイイ言葉ナンバーワンだよな!
726デフォルトの名無しさん
2017/06/19(月) 13:14:46.01ID:dXkNDY8/ pascal とか fortran の方が良くね?
727デフォルトの名無しさん
2017/06/19(月) 13:45:34.22ID:LlSBVcNV 後藤
728はちみつ餃子 ◆8X2XSCHEME
2017/06/19(月) 14:29:30.47ID:MatPzd+v >>726
良かろうが悪かろうがこのスレに来てるのはそれでも C/C++ を使うってやつらなんだからその問いかけは無意味
良かろうが悪かろうがこのスレに来てるのはそれでも C/C++ を使うってやつらなんだからその問いかけは無意味
729デフォルトの名無しさん
2017/06/19(月) 15:29:57.68ID:dXkNDY8/ 予約語として他言語から呼べる万能感があるのに :-P
C89では削除されたのだっけ
C89では削除されたのだっけ
>>727
setjmp/longjmp のインパクト!を考えると、いまいちだと思いますぅ
setjmp/longjmp のインパクト!を考えると、いまいちだと思いますぅ
731デフォルトの名無しさん
2017/06/20(火) 00:48:54.33ID:tAZ0INkH longjmpは無理やり過ぎだよな
Cならではとも思うが
Cならではとも思うが
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★10 [ぐれ★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 ★2 [おっさん友の会★]
- トランプ氏「台湾侵攻すれば北京爆撃」“過激予告発言”報道がXで再燃「高市氏の1億倍やばい」 [七波羅探題★]
- 【独占スクープ】元TOKIOの松岡昌宏がSTARTO社を“退所”へ「国分のコンプライアンス違反」問題をきっかけに決断、12月から単独で活動 [Ailuropoda melanoleuca★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【悲報】日本、パンダ0にwwwwwwwwwwww高市さんありがとう🐼 [271912485]
- 中国報道、高市首相を「毒苗」と中傷😡 [399259198]
- 【高市悲報】🇨🇳中国「日本への報復措置? 他にいくらでも方法はある。 まだまだやめないよ」 😨😱 [485983549]
- 高市早苗、約1ヶ月でドル円・10円円安を達成 [256556981]
- 中国専門家の興梠一郎先生「実は中国が一番焦ってるのが総領事の暴言だ。中国は今かなり追い詰められている」 [904151406]
- (´・ω・`)おはよ
