次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part135
https://mevius.5ch.net/test/read.cgi/tech/1522495206/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.102【環境依存OK】
http://mevius.5ch.net/test/read.cgi/tech/1509780815/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
C++相談室 part137
■ このスレッドは過去ログ倉庫に格納されています
2018/07/14(土) 17:53:02.14ID:FOAGvAbs
764デフォルトの名無しさん
2018/08/14(火) 09:31:57.53ID:oMbBbcEB 無名の共用体と似たようなもので
構造体のメンバをバラで貰えるってだけやん
構造体のメンバをバラで貰えるってだけやん
765デフォルトの名無しさん
2018/08/14(火) 09:44:39.80ID:fJuFDfsp 型推論のautoを見て嘔吐
766デフォルトの名無しさん
2018/08/14(火) 12:12:14.83ID:9UC8tUq9 C++のメタプログラミングって実際にはどうすればあんな複雑に書けるの?
自分は出来ても階乗を求めると型の判別くらいしか出来ない
自分は出来ても階乗を求めると型の判別くらいしか出来ない
767デフォルトの名無しさん
2018/08/14(火) 12:16:05.35ID:aWfB90DT まずは脳内バッファを増やす訓練からだな
768デフォルトの名無しさん
2018/08/14(火) 12:26:17.71ID:8F/Sy9ZI 関数型言語を勉強するといいよ
769デフォルトの名無しさん
2018/08/14(火) 12:41:59.55ID:9UC8tUq9770デフォルトの名無しさん
2018/08/14(火) 13:29:44.46ID:z3VJK4Uc >>766
メタプログラムは今ほとんどconstexprに置き換えれない?
メタプログラムは今ほとんどconstexprに置き換えれない?
771デフォルトの名無しさん
2018/08/14(火) 14:16:24.99ID:9UC8tUq9 >>770
確かに置き換えられるんだけど、それじゃあ普通のプログラミングと変わらなくて面白みが無いと思って‥
確かに置き換えられるんだけど、それじゃあ普通のプログラミングと変わらなくて面白みが無いと思って‥
772デフォルトの名無しさん
2018/08/14(火) 14:39:49.94ID:vEMT9LA3 >>770
型でメタプログラミングするとき困らんか?
型でメタプログラミングするとき困らんか?
773デフォルトの名無しさん
2018/08/14(火) 14:41:24.25ID:UlU0qat0 >>772
もちろんtemplateも使う
もちろんtemplateも使う
774デフォルトの名無しさん
2018/08/14(火) 16:24:16.29ID:oKGdiTQg >>760
特に何とは言わないけど
return (123, "456");
とか
return 123, "456";
みたいに現行のc++ではできないタプル表現のほうがすっきりして見える (個人の感想です)
特に何とは言わないけど
return (123, "456");
とか
return 123, "456";
みたいに現行のc++ではできないタプル表現のほうがすっきりして見える (個人の感想です)
775デフォルトの名無しさん
2018/08/14(火) 16:31:09.91ID:fJuFDfsp 123には副作用が無いから最適化でreturn "456";になるんじゃ…
777デフォルトの名無しさん
2018/08/14(火) 17:01:49.73ID:zHCh+0V6 vector<object*>* list;
Fuga fuga;
Hoge* hoge;
for(int i = 0; i < 5; ++i)
{
fuga.fugaMethod(hoge->hogeMethod(list->at[i]));
fuga.fugaMethod(hoge->hogeMethod((*list)[i])); // エラー
}
リストの要素に対して全部処理をするっていうよくあるプログラムなんです。
なんですが、上の書き方だと通るのに対して、下の書き方だと「式にはクラス型が必要です。」と出ます。
vectorの要素指定はat(i)を使うか括弧で指定するかの2通り、違いは範囲チェックを行うかどうかだけという認識だったのですが……
何がまずいんでしょうか?
Fuga fuga;
Hoge* hoge;
for(int i = 0; i < 5; ++i)
{
fuga.fugaMethod(hoge->hogeMethod(list->at[i]));
fuga.fugaMethod(hoge->hogeMethod((*list)[i])); // エラー
}
リストの要素に対して全部処理をするっていうよくあるプログラムなんです。
なんですが、上の書き方だと通るのに対して、下の書き方だと「式にはクラス型が必要です。」と出ます。
vectorの要素指定はat(i)を使うか括弧で指定するかの2通り、違いは範囲チェックを行うかどうかだけという認識だったのですが……
何がまずいんでしょうか?
778デフォルトの名無しさん
2018/08/14(火) 17:10:49.55ID:oMbBbcEB list->at[i]はまずいだろ
typoか? それとも本当にそう書いているのか?
typoか? それとも本当にそう書いているのか?
779デフォルトの名無しさん
2018/08/14(火) 17:27:33.05ID:8F/Sy9ZI typoじゃないとしたら、上は通ってるんだから
hogeMethodの引数がobjectかobject&なんだろうな
hogeMethodの引数がobjectかobject&なんだろうな
780デフォルトの名無しさん
2018/08/14(火) 17:31:42.31ID:zHCh+0V6 えーっとtypoじゃないです。
何がまずいんでしょうか。ポインタだしアロー演算子で問題ないのでは。
それとhogeMethodの引数はobject*ですね。抜けてましたすいません。
何がまずいんでしょうか。ポインタだしアロー演算子で問題ないのでは。
それとhogeMethodの引数はobject*ですね。抜けてましたすいません。
781デフォルトの名無しさん
2018/08/14(火) 17:49:25.24ID:K29Njy0m listの前の*が邪魔?
>>777
vector<string *>::iterator list;
なら理解できるのですが、
vector<string *> *list;
というのが、よくわからないのです
プログラム例では list にすでに値が入っているようですが、実際には
list をどのように初期化しているのでしょうか?
vector<string *>::iterator list;
なら理解できるのですが、
vector<string *> *list;
というのが、よくわからないのです
プログラム例では list にすでに値が入っているようですが、実際には
list をどのように初期化しているのでしょうか?
783782 ◆QZaw55cn4c
2018/08/14(火) 18:19:15.36ID:5K5qKv3G >>777
(*list)[i]
(*list).at(i)
list->at(i)
は等価であることを確認しましたが
list->at[i]
というのは逆にダメっぽいです
https://ideone.com/ripLji
list->at[i]
がどういう文脈なのか?
コンパイラがなになのか情報をください
(*list)[i]
(*list).at(i)
list->at(i)
は等価であることを確認しましたが
list->at[i]
というのは逆にダメっぽいです
https://ideone.com/ripLji
list->at[i]
がどういう文脈なのか?
コンパイラがなになのか情報をください
784デフォルトの名無しさん
2018/08/14(火) 18:27:08.03ID:oMbBbcEB >>780
何がまずいって
listはvector<object*>へのポインタ
list->atはvector<object*>::atでメンバ関数
ここまではいいが
at[i]は関数に添え字だろ
こうやってんのと同じだぜ
void func();
func[1];
何がまずいって
listはvector<object*>へのポインタ
list->atはvector<object*>::atでメンバ関数
ここまではいいが
at[i]は関数に添え字だろ
こうやってんのと同じだぜ
void func();
func[1];
785デフォルトの名無しさん
2018/08/14(火) 18:32:33.03ID:9UC8tUq9 なんでメンバ関数を配列にしたいのかかが気になる
786デフォルトの名無しさん
2018/08/14(火) 18:35:36.38ID:zHCh+0V6 あ、すいません、確かにat(i)はtypoでしたね。
ごっちゃになってましたすいません
ごっちゃになってましたすいません
787デフォルトの名無しさん
2018/08/14(火) 19:46:01.17ID:TB9AjC50788デフォルトの名無しさん
2018/08/14(火) 20:00:34.01ID:aWfB90DT そんでだいたい最小化してるうちに気づくんだよなw
789デフォルトの名無しさん
2018/08/14(火) 20:01:24.90ID:UKq+CNIv 関数テンプレートの部分特殊化ってC++17でもできないの?
790デフォルトの名無しさん
2018/08/14(火) 20:08:30.24ID:HhG+br3u >>788
まあ本人気づくのが一番いいから
まあ本人気づくのが一番いいから
792デフォルトの名無しさん
2018/08/15(水) 13:34:49.18ID:bAZUebux793デフォルトの名無しさん
2018/08/15(水) 15:58:12.56ID:/VaqEwQY 関数の多重定義もクラステンプレートの部分特殊化でstaticメソッドを特殊化したら代替できるからイラン
794デフォルトの名無しさん
2018/08/15(水) 17:45:56.30ID:bAZUebux >>793
どゆこと?
たとえば
int abs(int);
double abs(double);
を、
クラステンプレートの部分特殊化でstaticメソッドを特殊化つーと
template <typename A, typename B>
struct num;
template <typename A>
struct num<int>
{
static int abs(int);
};
template <>
int num<int, int>::abs(int arg)
{
return arg < 0 ? -arg : arg;
}
みたいなことすんのか?
どゆこと?
たとえば
int abs(int);
double abs(double);
を、
クラステンプレートの部分特殊化でstaticメソッドを特殊化つーと
template <typename A, typename B>
struct num;
template <typename A>
struct num<int>
{
static int abs(int);
};
template <>
int num<int, int>::abs(int arg)
{
return arg < 0 ? -arg : arg;
}
みたいなことすんのか?
795デフォルトの名無しさん
2018/08/15(水) 18:07:46.14ID:GkoLimxd 普通は関数オブジェクトにするんじゃね?auto operator()(...);
796デフォルトの名無しさん
2018/08/15(水) 18:46:53.07ID:GkoLimxd あ、余計なこと言った。
https://dotup.org/uploda/dotup.org1613077.zip
https://dotup.org/uploda/dotup.org1613077.zip
797デフォルトの名無しさん
2018/08/15(水) 18:48:12.11ID:GkoLimxd うご、投稿してモータ。
例のローグのシステムが大分できたのでなんとなく投下してみた。
汎用AIってどうやって書けばいいんや?
しかも、まだバトルシステム作ってないし。
例のローグのシステムが大分できたのでなんとなく投下してみた。
汎用AIってどうやって書けばいいんや?
しかも、まだバトルシステム作ってないし。
798デフォルトの名無しさん
2018/08/15(水) 19:02:43.98ID:GkoLimxd ところで質問なんだけど、パスファインディングってサービスとして入れたほうがいいのかなぁ。。。
799デフォルトの名無しさん
2018/08/15(水) 22:40:01.74ID:QxvGNpoJ >>766です
C++テンプレートメタプログラミングという本を買ってみたのですが、この本C++BoostのMPLの解説本です
C++17がある今、この本の価値ってあるんでしょうか?
一応全部読んでみようと思ってるのですが
C++テンプレートメタプログラミングという本を買ってみたのですが、この本C++BoostのMPLの解説本です
C++17がある今、この本の価値ってあるんでしょうか?
一応全部読んでみようと思ってるのですが
800デフォルトの名無しさん
2018/08/16(木) 07:25:03.80ID:t6OwQxX1801デフォルトの名無しさん
2018/08/16(木) 08:19:40.35ID:NceGg90N 多分聞きたいのはこれ読んだらオラついていいですか?ってことだと思う。
802デフォルトの名無しさん
2018/08/16(木) 08:50:47.25ID:MDl/UAh8803デフォルトの名無しさん
2018/08/16(木) 09:51:57.97ID:t6OwQxX1 >>802
> Boostを使わず、mplを使わないのでメタプログラミングするのが目的
そんな明確な目標あるのになんでこんな本買うかなぁ
ちょっとググればこんな意見が見つかるだろうに…
ちょっと文章が直訳っぽくてところどころ不自然だけど,丁寧にBoost.MPLの実装(と使い方)について解説してあってとても分かり易い!
http://d.hatena.ne.jp/eldesh/touch/20100412/1271090614
> Boostを使わず、mplを使わないのでメタプログラミングするのが目的
そんな明確な目標あるのになんでこんな本買うかなぁ
ちょっとググればこんな意見が見つかるだろうに…
ちょっと文章が直訳っぽくてところどころ不自然だけど,丁寧にBoost.MPLの実装(と使い方)について解説してあってとても分かり易い!
http://d.hatena.ne.jp/eldesh/touch/20100412/1271090614
804はちみつ餃子 ◆8X2XSCHEME
2018/08/16(木) 10:25:53.58ID:f3MTrlhW805デフォルトの名無しさん
2018/08/16(木) 12:02:41.09ID:MDl/UAh8806デフォルトの名無しさん
2018/08/16(木) 12:37:43.15ID:jOS7jxfN 魔除けとして重宝している
807デフォルトの名無しさん
2018/08/16(木) 12:41:22.12ID:lxkNuozk > そのブログはすでに読んである
私はバカです
って言われても…
私はバカです
って言われても…
808デフォルトの名無しさん
2018/08/16(木) 13:19:15.31ID:MDl/UAh8809デフォルトの名無しさん
2018/08/16(木) 13:24:07.84ID:AI90/kCO 捨てゼリフ来たね
そろそろご退場かな
総員塩の用意
そろそろご退場かな
総員塩の用意
810デフォルトの名無しさん
2018/08/16(木) 13:27:57.29ID:MDl/UAh8 >>809
いやだって日本人でC++やってる人少ないじゃないですか(´・ω・`)
いやだって日本人でC++やってる人少ないじゃないですか(´・ω・`)
812デフォルトの名無しさん
2018/08/16(木) 14:10:22.64ID:yO9+GMaw 「少ない」に比較がついてないから何とも言えない
813デフォルトの名無しさん
2018/08/16(木) 14:34:47.46ID:jOS7jxfN やっぱPerl人口が一番多いと思うのねん
その次がPHP
その次がPHP
814デフォルトの名無しさん
2018/08/16(木) 16:39:09.24ID:TxXnQ6gb 英語をスラスラ読めるなら「遅い・高い・分かりにくい」の
和訳版を買うことはないわな。
原書ならPDF版がタダでネット公開されてたりするし。
和訳版を買うことはないわな。
原書ならPDF版がタダでネット公開されてたりするし。
815デフォルトの名無しさん
2018/08/16(木) 20:44:21.68ID:JF8AnYsh >>799
前半とこどこBoost.MPLの設計理念とかどう実装されてるかとか書いてあるから、そこは参考になると思う
後半のTMP関連のテクニックはおそらく求めているものではないかと
ExpresionTemplateの実装にあまり踏み込まないけど、どのように誤用されているかは少し参考になった
前半とこどこBoost.MPLの設計理念とかどう実装されてるかとか書いてあるから、そこは参考になると思う
後半のTMP関連のテクニックはおそらく求めているものではないかと
ExpresionTemplateの実装にあまり踏み込まないけど、どのように誤用されているかは少し参考になった
816デフォルトの名無しさん
2018/08/17(金) 11:29:50.85ID:lqMuboYf https://wandbox.org/permlink/TC3VtzZ4Dd53Z1Y4
こういうコード書きました。
UIはとりあえず置いといて、Jsonの構造ってこんな感じでいいのでしょうか。
ご意見あったら教えてください。
こういうコード書きました。
UIはとりあえず置いといて、Jsonの構造ってこんな感じでいいのでしょうか。
ご意見あったら教えてください。
817デフォルトの名無しさん
2018/08/17(金) 11:54:52.92ID:BEBC5Dle あの初歩的な質問で申し訳ないんですけど、クラスのメンバ関数のことです
例えばAってクラスがあって、hogehogeって関数があったとします
それでhogehogeは内部で関数を3つ呼び出す。ざっとこんなイメージです
A.h
class A
{
public:
void hogehoge();
}
A.cpp
void A::hogehoge()
{
x();
y();
z();
}
main.cpp
main()
{
A a;
a.hogehoge;
}
んでこの場合の関数x() y() z()なんですけどクラスAのメンバ関数にすべきなんでしょうか。
それとも単にA.cpp内に関数書くだけでいいんでしょうか。
x()y()z()はhogehoge以外から呼び出されることはありません。
自分は前者だと思うんですが、参考にしろと渡された前任者(今いない)のコードだとなんでもかんでもメンバ関数です。
よろしくおねがいします。
例えばAってクラスがあって、hogehogeって関数があったとします
それでhogehogeは内部で関数を3つ呼び出す。ざっとこんなイメージです
A.h
class A
{
public:
void hogehoge();
}
A.cpp
void A::hogehoge()
{
x();
y();
z();
}
main.cpp
main()
{
A a;
a.hogehoge;
}
んでこの場合の関数x() y() z()なんですけどクラスAのメンバ関数にすべきなんでしょうか。
それとも単にA.cpp内に関数書くだけでいいんでしょうか。
x()y()z()はhogehoge以外から呼び出されることはありません。
自分は前者だと思うんですが、参考にしろと渡された前任者(今いない)のコードだとなんでもかんでもメンバ関数です。
よろしくおねがいします。
818デフォルトの名無しさん
2018/08/17(金) 12:01:22.82ID:BEBC5Dle あ、すいませんhogehogeではxyzを呼び出す以外にも処理を行うものとします
そうでないとxyzをメンバ関数にしてhogehogeなくせってことになるので
そうでないとxyzをメンバ関数にしてhogehogeなくせってことになるので
819デフォルトの名無しさん
2018/08/17(金) 12:17:52.69ID:TtX4VAeH > x()y()z()はhogehoge以外から呼び出されることはありません。
だったらラムダ式じゃね?
auto x = [this]{};
auto y = [this]{};
auto z = [this]{};
だったらラムダ式じゃね?
auto x = [this]{};
auto y = [this]{};
auto z = [this]{};
820デフォルトの名無しさん
2018/08/17(金) 12:27:19.70ID:6wrElEJt821デフォルトの名無しさん
2018/08/17(金) 12:29:57.76ID:JC8oBFgD メイヤーズは独立できるならメンバにせずに関数にしろって言ってた
822デフォルトの名無しさん
2018/08/17(金) 12:31:59.93ID:PQea+QN+ 言語処理ってphythonとC++どっちが向いてる?
823デフォルトの名無しさん
2018/08/17(金) 12:37:52.08ID:lqMuboYf 処理内容によると思う。
一応、自分は、protectedのメンバ関数にするかなぁ。
一応、自分は、protectedのメンバ関数にするかなぁ。
824デフォルトの名無しさん
2018/08/17(金) 12:49:54.76ID:UZUA85Xq825デフォルトの名無しさん
2018/08/17(金) 13:08:34.93ID:KaaDwp63 >>817
関数にできるってことはメンバ変数の参照とか他のメソッド呼び出しがないんだよね
なら関数にした方が微妙に速度が稼げる(thisを渡さずに済むから)
各々一回しか呼ばないなら呼び出し箇所に展開しても良いような気がする
関数にできるってことはメンバ変数の参照とか他のメソッド呼び出しがないんだよね
なら関数にした方が微妙に速度が稼げる(thisを渡さずに済むから)
各々一回しか呼ばないなら呼び出し箇所に展開しても良いような気がする
826デフォルトの名無しさん
2018/08/17(金) 13:39:31.71ID:BEBC5Dle 参考になりました。皆様ありがとうございました。
effective C++のメイヤーズ先生に従い、通常の関数にすることにします。
……あれ、そうするとその関数群だけで使う共通の変数ってメンバ変数にすべきなのかcpp冒頭で宣言してグローバル変数にすべきなのか
いやぁ難しいですね
effective C++のメイヤーズ先生に従い、通常の関数にすることにします。
……あれ、そうするとその関数群だけで使う共通の変数ってメンバ変数にすべきなのかcpp冒頭で宣言してグローバル変数にすべきなのか
いやぁ難しいですね
827デフォルトの名無しさん
2018/08/17(金) 13:59:24.66ID:IJ2e6Mcr データメンバーにしなさい
グローバル変数は悪である
グローバル変数は悪である
828デフォルトの名無しさん
2018/08/17(金) 14:21:39.44ID:TtX4VAeH829デフォルトの名無しさん
2018/08/17(金) 15:10:01.00ID:ujK6h2XS >>826
> ……あれ、そうするとその関数群だけで使う共通の変数
いや、そんなもんがあるならメンバ変数にするか、それらを構造体とかにまとめて引数で渡すとかしなよ
ファイルスコープだとしても今時グローバル変数は無いわ
> ……あれ、そうするとその関数群だけで使う共通の変数
いや、そんなもんがあるならメンバ変数にするか、それらを構造体とかにまとめて引数で渡すとかしなよ
ファイルスコープだとしても今時グローバル変数は無いわ
830デフォルトの名無しさん
2018/08/17(金) 17:26:14.63ID:xjFqJl5K いまどきグローバル変数を使うおとこの人って…
831デフォルトの名無しさん
2018/08/17(金) 17:26:59.41ID:PQea+QN+ >>824
ゼロから書く気はある
ゼロから書く気はある
832デフォルトの名無しさん
2018/08/17(金) 17:32:51.82ID:uIPUTYG+ 「すべての男はグローバル変数である」
833デフォルトの名無しさん
2018/08/17(金) 17:33:46.61ID:6wrElEJt わたし女だけど
834デフォルトの名無しさん
2018/08/17(金) 17:41:55.00ID:mGHQIGDT クラスのstaticメンバにすりゃええんちゃうのん?
835デフォルトの名無しさん
2018/08/17(金) 17:52:51.84ID:TtX4VAeH わざわざstaticにする強い理由があればそうするが
消極的な選択なら非staticのほうが何かと楽だぞ
消極的な選択なら非staticのほうが何かと楽だぞ
836デフォルトの名無しさん
2018/08/17(金) 17:54:48.35ID:xjFqJl5K staticおじさん、再び
837デフォルトの名無しさん
2018/08/17(金) 18:06:46.13ID:H85EoLGL ちょうど気になる話題だから聞くけど
OpenCVで1つの画像データを複数の関数で扱う場合って、引数として渡すのとグローバル変数として定義するのってどっちが良いのかな?(速度とかの面で)
無限ループで毎フレーム毎にWebカメラから読み取った画像を(グローバル)変数に代入するからそこでの速度とかメモリ管理の差とかあるのかな?
OpenCVで1つの画像データを複数の関数で扱う場合って、引数として渡すのとグローバル変数として定義するのってどっちが良いのかな?(速度とかの面で)
無限ループで毎フレーム毎にWebカメラから読み取った画像を(グローバル)変数に代入するからそこでの速度とかメモリ管理の差とかあるのかな?
838デフォルトの名無しさん
2018/08/17(金) 18:08:23.37ID:UZUA85Xq839デフォルトの名無しさん
2018/08/17(金) 18:09:24.28ID:ABziGu/h >>833
オカマはだまってろw
オカマはだまってろw
840デフォルトの名無しさん
2018/08/17(金) 18:09:55.69ID:UZUA85Xq841デフォルトの名無しさん
2018/08/17(金) 19:04:11.30ID:/oSEwJ0G842デフォルトの名無しさん
2018/08/17(金) 19:06:50.86ID:6wrElEJt 何で浅いコピーだよ
普通はポインタか参照だろ
普通はポインタか参照だろ
843デフォルトの名無しさん
2018/08/17(金) 19:10:12.86ID:IJ2e6Mcr cv::Matがスマポみたいなもんだということを知らずにチャチャ入れてるなら黙ってたほうがいいよ
844デフォルトの名無しさん
2018/08/17(金) 19:17:25.23ID:6wrElEJt そんな事はしっている
目の前に浅いコピーって書いてあるし
浅いコピーよりも当然参照やポインタ渡しの方が速い
当たり前だ
sizeofでcv::Matのサイズを調べてみろ
構造体やクラスを渡すのに深い浅いに関わらず
コピーなんか使うなよ
目の前に浅いコピーって書いてあるし
浅いコピーよりも当然参照やポインタ渡しの方が速い
当たり前だ
sizeofでcv::Matのサイズを調べてみろ
構造体やクラスを渡すのに深い浅いに関わらず
コピーなんか使うなよ
845デフォルトの名無しさん
2018/08/17(金) 19:28:06.57ID:KaaDwp63 >>837
> (速度とかの面で)
早すぎる最適化は諸悪の根源である
ドナルド・トラン…
じゃなくてクヌース
> (速度とかの面で)
早すぎる最適化は諸悪の根源である
ドナルド・トラン…
じゃなくてクヌース
846デフォルトの名無しさん
2018/08/17(金) 19:44:40.54ID:0e7dWRcF847デフォルトの名無しさん
2018/08/17(金) 19:55:12.57ID:RgiGOjCt cv::Matとcv::Mat*のコピーコストの差を気にするくらいならデリファレンスのコストも気にしなきゃな。
848デフォルトの名無しさん
2018/08/17(金) 20:02:22.24ID:IJ2e6Mcr 844はunique_ptrやshared_ptrも参照渡ししてそう
849デフォルトの名無しさん
2018/08/17(金) 22:11:59.07ID:6wrElEJt >>847
構造体やクラスだと
ポインタや参照がデフォなんだよ
とりあえずポインタ、参照で渡す事を考える
これでは困る時にはじめて他の方法を考える
わざわざ無駄に重くしなくて良い
コードサイズも実行時間も使用メモリも増える
悪いことしかない
構造体やクラスだと
ポインタや参照がデフォなんだよ
とりあえずポインタ、参照で渡す事を考える
これでは困る時にはじめて他の方法を考える
わざわざ無駄に重くしなくて良い
コードサイズも実行時間も使用メモリも増える
悪いことしかない
850デフォルトの名無しさん
2018/08/17(金) 22:28:22.24ID:p6eculQx851デフォルトの名無しさん
2018/08/17(金) 22:33:47.04ID:rVfGTX61 とりあえず車輪からだな
あっそれロン。大車輪で役満です
あっそれロン。大車輪で役満です
852デフォルトの名無しさん
2018/08/17(金) 23:28:39.10ID:2sBNjScG ユーザーの実行コストを考えたらC++しかありえない
854デフォルトの名無しさん
2018/08/17(金) 23:48:03.15ID:3Fyou0AL >>848
間違って通常のポインタを引数に指定されないよう、共有ポインタの参照を引数にすることはあり得るでしょ。
間違って通常のポインタを引数に指定されないよう、共有ポインタの参照を引数にすることはあり得るでしょ。
855デフォルトの名無しさん
2018/08/17(金) 23:49:26.53ID:2sBNjScG RustはいつになったらC++を殺すんだ?
856デフォルトの名無しさん
2018/08/18(土) 02:00:38.26ID:/pVEXQTC https://github.com/rust-lang/rust/issues
エラーが4000件だから、しばらく無理。
エラーが4000件だから、しばらく無理。
857デフォルトの名無しさん
2018/08/18(土) 10:32:16.38ID:zXZq/jKJ Visual Studioのデバッグ実行ってクラッシュとかしてもコードのどこでクラッシュしたかを示してくれるのですごく便利なんですが、
ただでさえ重めだった実行が、2015から拍車がかかり、かなり使いにくくなってしまいました。
どうもvector等のSTLの範囲チェック等が重たいとのことで、たしかにSTLの使用割合が多いアプリほど重たい傾向にあります。
たしかに範囲チェックはありがたいのですが、多少デバッグ能力を妥協して動作を軽くできないでしょうか?
理想はデバッグ機能をカスタム実装してリリースモードで動作でしょうけど、
予想できないクラッシュ等に対応するのが難しいと思います。
ご助言、よろしくお願いします。
ただでさえ重めだった実行が、2015から拍車がかかり、かなり使いにくくなってしまいました。
どうもvector等のSTLの範囲チェック等が重たいとのことで、たしかにSTLの使用割合が多いアプリほど重たい傾向にあります。
たしかに範囲チェックはありがたいのですが、多少デバッグ能力を妥協して動作を軽くできないでしょうか?
理想はデバッグ機能をカスタム実装してリリースモードで動作でしょうけど、
予想できないクラッシュ等に対応するのが難しいと思います。
ご助言、よろしくお願いします。
858デフォルトの名無しさん
2018/08/18(土) 12:38:36.62ID:C9f4IyR8859デフォルトの名無しさん
2018/08/18(土) 12:58:55.58ID:qRHlEVCy 理想は平均的な性能のPCを買うことかな
860デフォルトの名無しさん
2018/08/18(土) 13:48:15.95ID:9bYd+OzJ861デフォルトの名無しさん
2018/08/18(土) 15:07:37.45ID:T6klohyz 質問ですが
class Foo {
public:
int a[100];
Foo();
};
というクラスにおいて、構築時にメンバa[]をゼロ初期化する簡単な書き方はありませんか
ちなみに
Foo::Foo() : a({ }) { }
とやったらエラーになりますた、
class Foo {
public:
int a[100];
Foo();
};
というクラスにおいて、構築時にメンバa[]をゼロ初期化する簡単な書き方はありませんか
ちなみに
Foo::Foo() : a({ }) { }
とやったらエラーになりますた、
862デフォルトの名無しさん
2018/08/18(土) 15:27:11.61ID:/pVEXQTC863デフォルトの名無しさん
2018/08/18(土) 16:07:29.18ID:cIuR0GWn 普通に書いたらええがな。
Foo::Foo(){
for(int i=0; i<100; i++){
a[i] = 0;
}
}
Foo::Foo(){
for(int i=0; i<100; i++){
a[i] = 0;
}
}
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 【サッカー】日本代表、FIFAランキング“4位”の強豪イングランドとの対戦が正式決定! 来年3月に聖地ウェンブリーで激突へ [久太郎★]
- 日本、G7への中国招待を懸念 議長国フランスに慎重な対応要請 [どどん★]
- 女VIPPER抱きたい
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- ひまだねー
- 『エアジョーダンのゲン』にありがちなこと
- トンカツに塩つけて食う奴www
- 夢見るオマンコ
