次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/
C++相談室 part140
https://mevius.5ch.net/test/read.cgi/tech/1547326582/
C++相談室 part141
https://mevius.5ch.net/test/read.cgi/tech/1550772463/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
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++相談室 part142
■ このスレッドは過去ログ倉庫に格納されています
2019/04/01(月) 22:17:05.84ID:wmfpIKt/
460デフォルトの名無しさん
2019/04/30(火) 20:59:46.66ID:jq/I62+g int_leastシリーズでは?
461デフォルトの名無しさん
2019/04/30(火) 21:02:03.72ID:tJFiug19 intの配列のラッパーのようなものから再発明すりゃーいい
class Bignumber{
int number[4];
Bignumber(const String num){
for(int i=0; i<4; i++){
number[i] = //考えるのが面倒臭い
}
}
Bignumber operator+(){
//以下、延々とオペレータオーバーロードが続く
}
};
class Bignumber{
int number[4];
Bignumber(const String num){
for(int i=0; i<4; i++){
number[i] = //考えるのが面倒臭い
}
}
Bignumber operator+(){
//以下、延々とオペレータオーバーロードが続く
}
};
>>459
int64_t とか int32_t とか cstdint の面々を使うしかないでしょうね…私もデフォでそうするようになりました
int64_t とか int32_t とか cstdint の面々を使うしかないでしょうね…私もデフォでそうするようになりました
463デフォルトの名無しさん
2019/04/30(火) 21:08:03.86ID:0LsajAP1 あ…ありのまま 今 起こった事を話すぜ。
平成の終わりにいろんな奴からshort/longに対する認識の誤りを指摘される恥辱を味わった。
何言ってるかわからねーと思うが(以下略
平成の終わりにいろんな奴からshort/longに対する認識の誤りを指摘される恥辱を味わった。
何言ってるかわからねーと思うが(以下略
464デフォルトの名無しさん
2019/04/30(火) 21:08:35.71ID:QYmLdpSV なんかもうビットという表現すら無くそうとしてるんじゃなかった?
465デフォルトの名無しさん
2019/04/30(火) 21:19:14.38ID:l5C1eDEl 制限された環境で使える多倍長整数のライブラリくらいいくらでもありそうだけど
466デフォルトの名無しさん
2019/04/30(火) 21:42:28.23ID:ba2OmOyM467デフォルトの名無しさん
2019/04/30(火) 23:24:19.16ID:xHYWEb3z ビット数を付けるのは、MISRA-C で決まっているだろ
int8, 16, 32
uint8, 16, 32
int8, 16, 32
uint8, 16, 32
468デフォルトの名無しさん
2019/05/01(水) 00:05:54.61ID:rGIFhODV C++の規格上はintは16 bit以上(ターゲットのアーキテクチャで一番自然なサイズ
、longは32 bit以上
だったと思った
、longは32 bit以上
だったと思った
469デフォルトの名無しさん
2019/05/01(水) 06:23:13.87ID:EdGuPz7E class ClassA
class ClassB: public ClassA
class ClassA::ClassC
のときに、ClassBはClassAのサブクラスと言いますがClassCはなんと呼ぶものですか?
class ClassB: public ClassA
class ClassA::ClassC
のときに、ClassBはClassAのサブクラスと言いますがClassCはなんと呼ぶものですか?
471デフォルトの名無しさん
2019/05/01(水) 06:32:44.82ID:TS5dpT59 基底クラス
スーパークラス
親クラス
ベースクラス
スーパークラス
親クラス
ベースクラス
472デフォルトの名無しさん
2019/05/01(水) 06:56:41.43ID:q4ZM9Khf 細かいことを言えば、規格準拠の処理系でも
int32_t (ピッタリ32bit) が定義されるとは限らないのね。
int_fast32_t, int_least32_t なら定義される。
8bit単位じゃないCPUへの配慮らしいから、
普通の(この表現も危険だけど)コンピュータを使う分には
int32_t があると仮定して書いてもたいがい大丈夫だろうけど。
コンパイルエラーが出るから出たら対処、で十分かと。
int32_t (ピッタリ32bit) が定義されるとは限らないのね。
int_fast32_t, int_least32_t なら定義される。
8bit単位じゃないCPUへの配慮らしいから、
普通の(この表現も危険だけど)コンピュータを使う分には
int32_t があると仮定して書いてもたいがい大丈夫だろうけど。
コンパイルエラーが出るから出たら対処、で十分かと。
473デフォルトの名無しさん
2019/05/01(水) 07:06:00.95ID:EdGuPz7E >>470
クラス内で定義したクラスです
class ClassA {
public:
...
private:
class ClassC;
ClassC * C;
}
class ClassA::ClassC {
...
}
の場合class ClassA::ClassC からClassA::を取るとコンパイルが通りません
クラス内で定義したクラスです
class ClassA {
public:
...
private:
class ClassC;
ClassC * C;
}
class ClassA::ClassC {
...
}
の場合class ClassA::ClassC からClassA::を取るとコンパイルが通りません
474デフォルトの名無しさん
2019/05/01(水) 07:25:40.44ID:shCLaGGL 「プログラミング言語C++」だと、入れ子クラス(nested class)とか
メンバクラス(member class)とか呼んでるみたい。
メンバクラス(member class)とか呼んでるみたい。
475デフォルトの名無しさん
2019/05/01(水) 07:36:13.31ID:EdGuPz7E おお、なるほど
ありがとうございます
ありがとうございます
476デフォルトの名無しさん
2019/05/01(水) 09:29:42.19ID:HwrGV3PF 内部クラス(inner class)もよく聞くけど調べたらJava用語っぽいな
477デフォルトの名無しさん
2019/05/01(水) 10:28:09.06ID:imZnb7dZ Inner Class、Java用語なのか。そう呼んじゃってたわ
478デフォルトの名無しさん
2019/05/01(水) 17:22:15.78ID:Ul5/0sra 今よみがえる構造体ネストの悪夢
479はちみつ餃子 ◆8X2XSCHEME
2019/05/01(水) 17:31:05.65ID:Gk4iJJA0480デフォルトの名無しさん
2019/05/01(水) 19:23:34.42ID:DLNQH846 以前、「完全さを求めるあまり今存在する良い物を犠牲にしてはならない」という趣旨のことわざをBBCハードトークで仄聞したのだが、原典はなんだろうか?
>>480
ググってヒットしたもののうち、これについてめぐらせています(ことわざとは関係ありません…)
http://www.kt.rim.or.jp/~hisashim/gabriel/WIB.ja.html
この人(原著者)、最後まで間違ったままでいるような気がしてなりませんが、実際のところどうでしょうか
ググってヒットしたもののうち、これについてめぐらせています(ことわざとは関係ありません…)
http://www.kt.rim.or.jp/~hisashim/gabriel/WIB.ja.html
この人(原著者)、最後まで間違ったままでいるような気がしてなりませんが、実際のところどうでしょうか
482デフォルトの名無しさん
2019/05/01(水) 22:03:28.27ID:EdGuPz7E >>479
ありがとう
ありがとう
483デフォルトの名無しさん
2019/05/04(土) 17:19:13.49ID:x8LtSB02484デフォルトの名無しさん
2019/05/06(月) 08:44:53.70ID:Omhj+R8I ストリームの遅さは凄い凄すぎる。
ほとんどの場合、遅くても問題ないということはわかる。
でもあそこ迄遅くする必要があったのだろうか。
ほとんどの場合、遅くても問題ないということはわかる。
でもあそこ迄遅くする必要があったのだろうか。
485デフォルトの名無しさん
2019/05/06(月) 10:41:12.07ID:ZJRraXBB 突然何?
486デフォルトの名無しさん
2019/05/06(月) 12:17:09.96ID:jqdyfBGc 3.5 ストリーム
ttps://sicp.iijlab.net/fulltext/x350.html
これだろう
理想的にはこうなるべきだが、技術的には未だに追いついてないだけであり、将来的には解決される
なのでC++では他のどの言語も真似してない<<や>>がある
逆に言うとストリーム・プログラミングが主流になったらC++が主流の座に返り咲く
ttps://sicp.iijlab.net/fulltext/x350.html
これだろう
理想的にはこうなるべきだが、技術的には未だに追いついてないだけであり、将来的には解決される
なのでC++では他のどの言語も真似してない<<や>>がある
逆に言うとストリーム・プログラミングが主流になったらC++が主流の座に返り咲く
487デフォルトの名無しさん
2019/05/06(月) 15:05:44.09ID:XjarcZ9f 今やどの言語もprintfのような書式付き文字列を指定する方式に回帰した(jsすら!)。
少なくとも書式付き出力に限れば、ストリームはプログラミング言語の中ではもう淘汰されてしまったんだと思うよ。
早いとこ、string::format()とかbasic_ostream::format()とか作ってほしいわ
少なくとも書式付き出力に限れば、ストリームはプログラミング言語の中ではもう淘汰されてしまったんだと思うよ。
早いとこ、string::format()とかbasic_ostream::format()とか作ってほしいわ
488デフォルトの名無しさん
2019/05/06(月) 15:24:11.52ID:ecbY6TsO 多言語対応するためにはC#みたいに %1, %2みたいに引数を番号で指定できる書式じゃないとダメでしょ。
489デフォルトの名無しさん
2019/05/06(月) 15:30:05.12ID:HRNpJ9Fc ストリームの精神はrangeに受け継がれて生き残るよ
だから書式はそろそろ負けを認めよう
だから書式はそろそろ負けを認めよう
490デフォルトの名無しさん
2019/05/06(月) 16:03:09.57ID:ZJRraXBB どうしてprintf使わないの?
491デフォルトの名無しさん
2019/05/06(月) 16:28:48.00ID:YSlWnmwv オーバーロードできないから
492デフォルトの名無しさん
2019/05/06(月) 16:36:53.99ID:oGUqqIoM <<には<<なりの良さがあると思うので、ストリームというより、stringがoperator <<をサポートすれば良いと思う。
493デフォルトの名無しさん
2019/05/06(月) 16:40:04.95ID:DF3zK1Xx 文字列操作するためのインターフェイスとしては最悪だよ。
考えた奴は自分では絶対使わないで人に使わせるだけのタイプだろうな。
考えた奴は自分では絶対使わないで人に使わせるだけのタイプだろうな。
494デフォルトの名無しさん
2019/05/06(月) 16:45:40.32ID:Yv9FD/Sb そもそもだけど、なんで文字って表示されるのに
<< とか %s とかこういうのが必要なの?
どの言語でもprint(a);だけで表示させればよくない?aが文字列でも整数でも小数でもさ。
引数で判断してくれよ。
<< とか %s とかこういうのが必要なの?
どの言語でもprint(a);だけで表示させればよくない?aが文字列でも整数でも小数でもさ。
引数で判断してくれよ。
495デフォルトの名無しさん
2019/05/06(月) 16:51:17.77ID:oGUqqIoM >>493
え、そう?
文字列を連結する時に、+=と+を使い分けるより<<だけですむ方が楽だし、連結する順番も自明だし結構良くない?
std::string str;
str << "hoge" << 123 << ".txt";
みたいな。
え、そう?
文字列を連結する時に、+=と+を使い分けるより<<だけですむ方が楽だし、連結する順番も自明だし結構良くない?
std::string str;
str << "hoge" << 123 << ".txt";
みたいな。
>>492
それは私も考えていました、cerr に都度吐いているメッセージを、もう一度プログラムの最後にまとめて吐きなおす、とかをやってみたいんです…
それは私も考えていました、cerr に都度吐いているメッセージを、もう一度プログラムの最後にまとめて吐きなおす、とかをやってみたいんです…
497デフォルトの名無しさん
2019/05/06(月) 17:37:23.51ID:QULX0INn >>495
そのやり方は引数の順序を変えられないから語順が違う言語間での翻訳で困る
そのやり方は引数の順序を変えられないから語順が違う言語間での翻訳で困る
498デフォルトの名無しさん
2019/05/06(月) 17:37:57.33ID:ecbY6TsO コンストラクタの引数に出力先stringインスタンスを渡すostream派生クラスを作ればいいじゃない。
string str;
hogestream sstr(str);
sstr << "hoge" << 128;
string str;
hogestream sstr(str);
sstr << "hoge" << 128;
499デフォルトの名無しさん
2019/05/06(月) 17:42:30.68ID:B4KNKrTg 別にstringstreamで良いじゃない
500デフォルトの名無しさん
2019/05/06(月) 17:42:46.83ID:B4KNKrTg 別にstringstreamで良いじゃない
501デフォルトの名無しさん
2019/05/06(月) 18:13:11.14ID:L6nFhRY+ iostreamの<<はC++の黒歴史の一つだね
502はちみつ餃子 ◆8X2XSCHEME
2019/05/06(月) 18:19:09.50ID:K/rO19sE stream の機能はいらんからとにかく文字列に差し込むだけ出来ればいいってのなら
単に operator<< を定義すれば出来るけど……。
https://wandbox.org/permlink/dIkEh0LDZEixGoiF
単に operator<< を定義すれば出来るけど……。
https://wandbox.org/permlink/dIkEh0LDZEixGoiF
503デフォルトの名無しさん
2019/05/06(月) 18:27:12.43ID:ecbY6TsO >>499,500,501
ostream派生クラスじゃなくて独自のクラスのほうが軽量でいい。
stringインスタンスへのポインタのほかに、数値書き込み時の進数設定(oct,dec,hexを覚えておく)などをメンバ変数に持てばOK。
ostream派生クラスじゃなくて独自のクラスのほうが軽量でいい。
stringインスタンスへのポインタのほかに、数値書き込み時の進数設定(oct,dec,hexを覚えておく)などをメンバ変数に持てばOK。
504デフォルトの名無しさん
2019/05/06(月) 18:58:24.90ID:oGUqqIoM >>502
をを、なるほど、これは素晴らしいw
をを、なるほど、これは素晴らしいw
505デフォルトの名無しさん
2019/05/06(月) 21:02:54.05ID:ZJRraXBB >>492
stringstream・・・
stringstream・・・
506デフォルトの名無しさん
2019/05/07(火) 19:51:10.38ID:FbrTB0S1 basic_ostream使えよっていつも思う
なんで決め打ちするのかわからない
なんで決め打ちするのかわからない
507デフォルトの名無しさん
2019/05/08(水) 21:52:50.27ID:iQQm+nuQ to_charsというものをみつけました。
508デフォルトの名無しさん
2019/05/09(木) 18:03:02.17ID:PdPEbd3c b配列全てをa配列のケツにコピーするとき
std::vector<char> a;
char b[]={0,1,1,3,4};
a.insert(a.begin(),&b[0],&b[sizeof b]);
これでいいの?
&b[sizeof b]
これが死ぬほど気持ち悪いんだけど
std::vector<char> a;
char b[]={0,1,1,3,4};
a.insert(a.begin(),&b[0],&b[sizeof b]);
これでいいの?
&b[sizeof b]
これが死ぬほど気持ち悪いんだけど
509デフォルトの名無しさん
2019/05/09(木) 18:18:44.76ID:JXKWFyOS そんな気色悪い書き方しなくてもこれでいいよ
a.insert(a.end(), std::begin(b), std::end(b));
a.insert(a.end(), std::begin(b), std::end(b));
510デフォルトの名無しさん
2019/05/09(木) 18:25:51.81ID:PdPEbd3c なるほど!ありがとう
511はちみつ餃子 ◆8X2XSCHEME
2019/05/09(木) 18:44:16.05ID:IVoLxnXn >>508-509
std::copy に back_inserter を渡す方が効率的という豆知識。
std::copy に back_inserter を渡す方が効率的という豆知識。
512デフォルトの名無しさん
2019/05/09(木) 18:53:31.44ID:vbHvKAwn513デフォルトの名無しさん
2019/05/09(木) 23:40:45.34ID:q7ofaYCv アルゴリズムよりvector::insertのほうが実装による最適化の余地は大きそうだな
514デフォルトの名無しさん
2019/05/10(金) 00:47:30.50ID:5C678nxv ポインタがイテレータとして渡された時点で相手が連続バッファだってわかるからね
515デフォルトの名無しさん
2019/05/10(金) 11:00:01.95ID:KAkBQh2y &b[sizeof b]でもstd::end(b)でもやってることは変わらないんだけどな
見映えは重要だな
見映えは重要だな
516デフォルトの名無しさん
2019/05/10(金) 11:08:59.15ID:pPfi71KH sizeof bじゃcharでしか使えないんで、そういう意味でもイケてないかも
517はちみつ餃子 ◆8X2XSCHEME
2019/05/10(金) 12:01:59.87ID:g2QrvVju518デフォルトの名無しさん
2019/05/10(金) 19:02:43.61ID:UhKi+qPE 嫌儲で、東京五輪チケットのソースコードが出てるけど
C++使ってるお前らなら、こんなソースコードじゃないよね?
https://gogotsu.com/wp-content/uploads/2019/05/01-9.jpg
C++使ってるお前らなら、こんなソースコードじゃないよね?
https://gogotsu.com/wp-content/uploads/2019/05/01-9.jpg
519デフォルトの名無しさん
2019/05/10(金) 19:05:10.83ID:curN/h5M >>518
サーバーサイドあまりやってないけどこんな泥臭い書き方するのか
サーバーサイドあまりやってないけどこんな泥臭い書き方するのか
520デフォルトの名無しさん
2019/05/10(金) 19:05:16.55ID:TAwz/zT/ javascriptやん
521デフォルトの名無しさん
2019/05/10(金) 19:36:57.50ID:tfYAY6pz こんなもんだろ
SIerが間違ってコンシューマ系のWeb制作を請けてしまうとこんな感じになる
SIerが間違ってコンシューマ系のWeb制作を請けてしまうとこんな感じになる
522デフォルトの名無しさん
2019/05/10(金) 21:47:05.61ID:oOPMkjEw てかこんなもの韓国に出すのね
安くなさそう
ってもしや北の方?
安くなさそう
ってもしや北の方?
523デフォルトの名無しさん
2019/05/10(金) 21:53:19.07ID:oOPMkjEw parseInt(Num).lengthって動かなそう
524デフォルトの名無しさん
2019/05/10(金) 21:57:58.16ID:TAwz/zT/ ほんまやw桁でも返ってくるのかと思ったがundefinedじゃんかw
525デフォルトの名無しさん
2019/05/10(金) 22:59:11.84ID:HK1/2Yro 型に無駄にこだわった結末がstreamと知っとくのは重要。
あの間違いを覚えとけ。
あの間違いを覚えとけ。
526デフォルトの名無しさん
2019/05/10(金) 23:25:31.58ID:u3uVdMgu ゲームのシーンを管理するクラスとシーンクラスがあり、管理するクラスはシーンクラスを保持しています
シーンクラスから管理クラスのシーンチェンジを行う関数を呼び出したいのですがどうやったらいいでしょうか
シーンクラスが管理クラスのインスタンスを持ちたくありません
シーンクラスから管理クラスのシーンチェンジを行う関数を呼び出したいのですがどうやったらいいでしょうか
シーンクラスが管理クラスのインスタンスを持ちたくありません
527デフォルトの名無しさん
2019/05/10(金) 23:30:31.35ID:0WVRNDv3 >>518
webにあげるなら難読化まではしないにしても最低限圧縮するよね
webにあげるなら難読化まではしないにしても最低限圧縮するよね
528デフォルトの名無しさん
2019/05/10(金) 23:55:31.69ID:tshfuAdx >>526
シーンクラスに管理クラスへの参照(ポインタ)を持たせればいいんじゃないのか
シーンクラスに管理クラスへの参照(ポインタ)を持たせればいいんじゃないのか
529デフォルトの名無しさん
2019/05/11(土) 03:16:15.93ID:xsmcwCcm 早速情報漏洩やらかしたの?
530デフォルトの名無しさん
2019/05/11(土) 10:30:07.92ID:f5HniSEP >a.insert(a.begin(),&b[0],&b[sizeof b]);
>
これ、添字オーバーしてるけどメモリエラーとかにならないの?
>
これ、添字オーバーしてるけどメモリエラーとかにならないの?
531デフォルトの名無しさん
2019/05/11(土) 10:54:36.87ID:RjxICFG6532デフォルトの名無しさん
2019/05/11(土) 11:55:52.83ID:Y1ZlGg0p >>530
アクセスしてるからダメそう
アクセスしてるからダメそう
533デフォルトの名無しさん
2019/05/11(土) 12:40:07.82ID:3XjGQ6E0 []はただのアドレス計算じゃん
534デフォルトの名無しさん
2019/05/11(土) 12:42:52.29ID:DVWj7ai3 &p[N]はp + Nと同じって規格にあったっけ?
535デフォルトの名無しさん
2019/05/11(土) 12:44:31.45ID:RjxICFG6 確かに&b[sizeof b]はデリファレンスしてるわ
これはあかんそう
これはあかんそう
536デフォルトの名無しさん
2019/05/11(土) 12:56:49.51ID:FaKAPAIh >>533
a[i]は a+i ではなく *{a+i}
a[i]は a+i ではなく *{a+i}
537デフォルトの名無しさん
2019/05/11(土) 13:12:17.25ID:2v2BzL6t 経験上出来るプログラマーは言語オタクが多いイメージ?(ただし浅い)
538デフォルトの名無しさん
2019/05/11(土) 18:44:16.82ID:fU686pnk &*pはデリファレンスなしで単にpと評価するってどっかで特別に決められてなかったっけ?
539デフォルトの名無しさん
2019/05/12(日) 06:58:46.18ID:x4ccFx6b540デフォルトの名無しさん
2019/05/12(日) 07:43:52.68ID:2y1+p9UL >>530
>>a.insert(a.begin(),&b[0],&b[sizeof b]);
>>
>
>これ、添字オーバーしてるけどメモリエラーとかにならないの?
508だけど、これは
a.insert(a.begin(),&b[0],&b[sizeof b]);
こっちの間違いです。ごめんなさい。
a.insert(a.end(),&b[0],&b[sizeof b]);
&b[sizeof b]);
この部分は
b+sizeof(b)
これなら問題ない感じ?
どちらでも動くけど、たまたまいてる可能性捨てきれないから不安なんだよね。
実際のソースはsizeof(b)がbに格納されているデータのサイズを示していて、
char b[256];
int s = read( fd, b, sizeof b);
a.insert(a.end(),&b[0],&b[s]);
みたいな感じで書いてます。
んで、b最大数来た場合にちゃんと動くか気になったというわけっす。
int s = read( fd, b, (sizeof b)-1);
無難にこれの方がいいですかね?
>>a.insert(a.begin(),&b[0],&b[sizeof b]);
>>
>
>これ、添字オーバーしてるけどメモリエラーとかにならないの?
508だけど、これは
a.insert(a.begin(),&b[0],&b[sizeof b]);
こっちの間違いです。ごめんなさい。
a.insert(a.end(),&b[0],&b[sizeof b]);
&b[sizeof b]);
この部分は
b+sizeof(b)
これなら問題ない感じ?
どちらでも動くけど、たまたまいてる可能性捨てきれないから不安なんだよね。
実際のソースはsizeof(b)がbに格納されているデータのサイズを示していて、
char b[256];
int s = read( fd, b, sizeof b);
a.insert(a.end(),&b[0],&b[s]);
みたいな感じで書いてます。
んで、b最大数来た場合にちゃんと動くか気になったというわけっす。
int s = read( fd, b, (sizeof b)-1);
無難にこれの方がいいですかね?
541デフォルトの名無しさん
2019/05/12(日) 11:19:05.13ID:k8bUqGvO542デフォルトの名無しさん
2019/05/12(日) 11:53:09.39ID:nuZIUjqi ややこしいからoperator <<を定義しようw
543デフォルトの名無しさん
2019/05/12(日) 15:25:00.10ID:8/5ODvoI VC++だと
std::vector<T> a; &a[a.size()]はoperator[]のassertionに引っかかるね
std::vector<T> a; &a[a.size()]はoperator[]のassertionに引っかかるね
544デフォルトの名無しさん
2019/05/12(日) 22:25:11.86ID:yr8YjJOU std::transformって並列処理されてますか?
545デフォルトの名無しさん
2019/05/12(日) 23:20:05.82ID:jFoQmc6B c++17のparallel版使えば並列実行されるかもしれない
546デフォルトの名無しさん
2019/05/13(月) 01:24:36.27ID:RKe/NLvg visual studioでC++17にしたけどいまいち並列版の使い方が分からなかった
普通にfor回すのと、OpenMP使ってfor並列化するのと、transform(非並列)使うの比較したら
OpenMP>普通にfor≧transform だった
普通にfor回すのと、OpenMP使ってfor並列化するのと、transform(非並列)使うの比較したら
OpenMP>普通にfor≧transform だった
547デフォルトの名無しさん
2019/05/13(月) 20:49:38.54ID:YS57w6Jq おとなしくpthead使えよ。
548デフォルトの名無しさん
2019/05/13(月) 20:56:12.40ID:WUu3P+2G 非並列使ったならそりゃそうなるだろ
549デフォルトの名無しさん
2019/05/16(木) 02:02:33.17ID:1v50lv4I struct AとAを継承したstruct Bがあって
Aの内容をBの共通部分にコピーする方法ってないですか?
A a;
B b = a;
みたいにしたいんですけど親を派生先にキャストはできないので困ってます
Aの内容をBの共通部分にコピーする方法ってないですか?
A a;
B b = a;
みたいにしたいんですけど親を派生先にキャストはできないので困ってます
550デフォルトの名無しさん
2019/05/16(木) 02:06:57.91ID:mZDDPYlt struct B : public A
{
B* operator=(const A& a){ this->hoge = a.hoge;}
};
これ初期時にも使えるんかな
{
B* operator=(const A& a){ this->hoge = a.hoge;}
};
これ初期時にも使えるんかな
551デフォルトの名無しさん
2019/05/16(木) 02:25:05.62ID:1v50lv4I コピーコンストラクタが実装できたとしてメンバ変数は1個ずつコピーするしかないですかね
552デフォルトの名無しさん
2019/05/16(木) 02:28:08.55ID:mZDDPYlt スライシングをさせるとか?
安全に?スライシング起こす方法ってあったっけな?
なんか危ういからやろうともしなかったが
安全に?スライシング起こす方法ってあったっけな?
なんか危ういからやろうともしなかったが
553デフォルトの名無しさん
2019/05/16(木) 06:25:17.13ID:/dAesd8e cloneメソッド用意するとか
554デフォルトの名無しさん
2019/05/16(木) 06:31:42.80ID:ebJ8HHSX >>549
初期化時は普通にコンストラクタ初期化リストで A(a) って書けるでしょ。残りのメンバをどうするのか知らんけど。
代入なら static_cast<A&>(b) = a か b.A::operator=(a) で済みそう。
初期化時は普通にコンストラクタ初期化リストで A(a) って書けるでしょ。残りのメンバをどうするのか知らんけど。
代入なら static_cast<A&>(b) = a か b.A::operator=(a) で済みそう。
555デフォルトの名無しさん
2019/05/16(木) 06:33:37.60ID:C3C4SHXA 普通にコンストラクタかオペレーター作ればいいんじゃね
B::B(const &A)
B::operator =(const &A)
A::operator B()
雑なキャストでよければdynamic_cast<A>でおk
B::B(const &A)
B::operator =(const &A)
A::operator B()
雑なキャストでよければdynamic_cast<A>でおk
556デフォルトの名無しさん
2019/05/16(木) 06:38:27.18ID:C3C4SHXA ↑dynamic_cast<B>の間違い
B b = dynamic_cast<B>(a);
B b = dynamic_cast<B>(a);
557デフォルトの名無しさん
2019/05/16(木) 11:40:14.21ID:74mGoL8y558デフォルトの名無しさん
2019/05/16(木) 17:20:00.24ID:PgzYowjZ 549です
解決しましたありがとうございます
以下のように書いたら思っていたことが出来ました
(派生先のコンストラクタで親のデフォルトコピーコンストラクタ呼べるの知りませんでした)
代入は現状使う予定がないので大丈夫です
B::B(const &A a) : A(a) {}
解決しましたありがとうございます
以下のように書いたら思っていたことが出来ました
(派生先のコンストラクタで親のデフォルトコピーコンストラクタ呼べるの知りませんでした)
代入は現状使う予定がないので大丈夫です
B::B(const &A a) : A(a) {}
559デフォルトの名無しさん
2019/05/16(木) 18:17:29.46ID:mr2QiBZl その内容だったら=defaultでいいよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【芸能】デヴィ夫人「日本では犬猫は器物。動物保護を何とか立法化したい」 人と動物が共生を力強く訴え [冬月記者★]
- (´・ω・`)君たちは冬のボーナスを何に使うのかい?
- 寒さしのげる場所があって食べ物も豊富にあるなら熊は冬眠しないの?
- 声優・矢尾一樹の妻「治療の影響で思う様に話せない彼に、近くで仕事をしてきた人が、かっこ悪い!もう辞めなよと言った。私は許さない」 [594040874]
- 【画像】TOKIO山口達也に「いいべ」された当時のJK、性加害の反動であたしこグラドルにwww [779857986]
- 【高市悲報】しかし、香港の火災とか青森の地震で不謹慎な事を言う奴が日中にいたら、そいつこそが世界の「癌」だよな [784715804]
- 気象庁・高市内閣「この後311級の地震の可能性があります。北海道〜関東の人は1週間は地震が来てもすぐ逃げられる格好をしてください」 [597533159]
