次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137
http://mevius.5ch.net/test/read.cgi/tech/1531558382/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
http://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++相談室 part138
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (スフッ Sd9f-fGne)
2018/08/05(日) 18:02:36.57ID:DigzqJtZd2デフォルトの名無しさん (ブーイモ MMa7-gYkF)
2018/08/05(日) 18:29:41.88ID:QdoPuPH9M STLつかうと一気に実行ファイルサイズが10倍に?!
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
---- テンプレ ここまで ----
環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない
すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。
C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?
#include <stdafx.h>
後死ね。
言葉が悪いな。それで教えているつもりか。
まぁヒントぐらいにはなったな。
うむごくろう。
---- テンプレ ここまで ----
3デフォルトの名無しさん (ワッチョイ ffcf-XO5Y)
2018/08/06(月) 01:35:11.09ID:BcLtAmRR0 >>2
テンプレ乙w
テンプレ乙w
4デフォルトの名無しさん (ワッチョイ e35e-sMWb)
2018/08/06(月) 19:00:03.54ID:dB2jG9W70 おすすめのC++を教えてください‼
5デフォルトの名無しさん (ワッチョイ 338a-vpSm)
2018/08/06(月) 19:08:12.36ID:Z6d+75Qr0 MIWA C++
6デフォルトの名無しさん (オッペケ Sr03-s/wt)
2018/08/11(土) 09:08:09.59ID:9wE6Nq69r rad c++ builderでファイルの入出力やドラッグ&ドロップ 簡単なdb操作は出来る様になったけど、もう一歩踏み出したいです
福岡当たりで勉強会みたいなのはないでしょうか?
大阪、東京でも有るなら飛行機使っていきたいです
福岡当たりで勉強会みたいなのはないでしょうか?
大阪、東京でも有るなら飛行機使っていきたいです
7デフォルトの名無しさん (オッペケ Sr03-s/wt)
2018/08/11(土) 09:14:26.43ID:9wE6Nq69r 6です
c++ builderのスレッドが合ったので
そちらで聞いてみます
失礼しました
c++ builderのスレッドが合ったので
そちらで聞いてみます
失礼しました
9デフォルトの名無しさん (ワッチョイ ed85-EM0A)
2018/08/28(火) 21:29:17.96ID:t/yKDZjb0 関数内にstaticつけたクラス変数定義した場合、
コンストラクタは関数を最初に呼び出したときだけ呼ばれると思います。
これはどういう仕掛けなのですか?どこかにフラグがこっそり用意されるのでしょうか。
コンストラクタは関数を最初に呼び出したときだけ呼ばれると思います。
これはどういう仕掛けなのですか?どこかにフラグがこっそり用意されるのでしょうか。
10デフォルトの名無しさん (ワッチョイ b98a-WOyi)
2018/08/28(火) 22:30:18.70ID:CqD+kceR011デフォルトの名無しさん (ワッチョイ ed85-EM0A)
2018/08/28(火) 22:51:57.87ID:t/yKDZjb0 >10
ちょっと書き方間違えました。
定義ではなく宣言です。
間違ってますでしょうか?ではコンストラクタが呼ばれるタイミングはどこでしょうか
ちょっと書き方間違えました。
定義ではなく宣言です。
間違ってますでしょうか?ではコンストラクタが呼ばれるタイミングはどこでしょうか
12デフォルトの名無しさん (ブーイモ MM01-my2l)
2018/08/28(火) 23:03:55.88ID:bcRKdMjSM13デフォルトの名無しさん (ワッチョイ 954f-kiUO)
2018/08/28(火) 23:12:40.50ID:UyOLOIaa014デフォルトの名無しさん (ワッチョイ db4f-f65Y)
2018/09/08(土) 15:23:29.92ID:Bduckbke0 virtualなデストラクタを持たないクラスを継承しているクラスを派生していない状態でコンテナ等に入れた場合、
エラーまたは警告にする方法ってある?
典型的な「デストラクタをvirtualにしろ」のケースであり、
安全性だけを取るのならそうすれば済むのだが、大量使用したいのでコストを限界までケチりたい。
可能であればコンパイラにチェックさせたい。
具体的に言うと、Matz曰く「実装が漏れてる」の典型的なケース、配列について、
長さと先頭のポインタをstructにして、各操作をそれに対するメソッドとして記述し、
スクリプト言語風に簡潔に書けるか試したい。
std::spanの再実装に近いので、そちらで言うと、
https://github.com/tcbrindle/span/blob/master/include/tcb/span.hpp
std::spanを継承して各種メソッドを生やし、(クラスM)
さらにそれを継承して以下3つのコンストラクタを持たせる。
クラスA. 型と既存ポインタと長さからの生成
クラスB. 型と長さを与え、allocaでの生成
クラスC. 型と長さを与え、heap上への生成
A,Bは問題ないが、Cはデストラクタでdeleteをする必要がある。
ここでstd::spanのデストラクタはvirtualではないので、(上記実装例の場合)
vector<C>をvector<M>等と間違えたら不味い。
このときに、警告またはエラーを発生させたい。
エラーまたは警告にする方法ってある?
典型的な「デストラクタをvirtualにしろ」のケースであり、
安全性だけを取るのならそうすれば済むのだが、大量使用したいのでコストを限界までケチりたい。
可能であればコンパイラにチェックさせたい。
具体的に言うと、Matz曰く「実装が漏れてる」の典型的なケース、配列について、
長さと先頭のポインタをstructにして、各操作をそれに対するメソッドとして記述し、
スクリプト言語風に簡潔に書けるか試したい。
std::spanの再実装に近いので、そちらで言うと、
https://github.com/tcbrindle/span/blob/master/include/tcb/span.hpp
std::spanを継承して各種メソッドを生やし、(クラスM)
さらにそれを継承して以下3つのコンストラクタを持たせる。
クラスA. 型と既存ポインタと長さからの生成
クラスB. 型と長さを与え、allocaでの生成
クラスC. 型と長さを与え、heap上への生成
A,Bは問題ないが、Cはデストラクタでdeleteをする必要がある。
ここでstd::spanのデストラクタはvirtualではないので、(上記実装例の場合)
vector<C>をvector<M>等と間違えたら不味い。
このときに、警告またはエラーを発生させたい。
15デフォルトの名無しさん (ワッチョイ db4f-f65Y)
2018/09/08(土) 22:19:49.23ID:Bduckbke0 もう一つよろしく。
C++でkey/valueソートしたい場合は
・std::unordered_multimap等にコピーしてからstd::sort
・自前で<key,value>を含んだ構造体を用意し、それに < を定義して、コピーしてstd::sort
のどちらかって感じ?
ちょっとまどろっこしいので、もう少し簡単な方法無いかな?
doubleの配列をソートした際、何番目がどこに行ったか追跡したい。
.NETだと Array::sort(array0, array1) があり、
array0 に double の配列、
array1 に [0 ... N-1] な配列を指定しておけば、array1の結果で簡単に追跡出来た。
記法が原始的ではあるが、結果的にはこっちの方が楽で良かった。
std::sortで2つの配列を取る物があれば助かるのだが、なさそうだし。
boostも見たが、よく分からん。
C++でkey/valueソートしたい場合は
・std::unordered_multimap等にコピーしてからstd::sort
・自前で<key,value>を含んだ構造体を用意し、それに < を定義して、コピーしてstd::sort
のどちらかって感じ?
ちょっとまどろっこしいので、もう少し簡単な方法無いかな?
doubleの配列をソートした際、何番目がどこに行ったか追跡したい。
.NETだと Array::sort(array0, array1) があり、
array0 に double の配列、
array1 に [0 ... N-1] な配列を指定しておけば、array1の結果で簡単に追跡出来た。
記法が原始的ではあるが、結果的にはこっちの方が楽で良かった。
std::sortで2つの配列を取る物があれば助かるのだが、なさそうだし。
boostも見たが、よく分からん。
16デフォルトの名無しさん (ワッチョイ db4f-f65Y)
2018/09/11(火) 19:14:32.80ID:85ZJZj420 抽象型のメソッドを使ったときにも型を失わず、派生型のままで返す方法って無いよね?
継承を使わず、テンプレートで展開するしかないか?
コード上で展開されるのが、多少勿体ないんだが。
>>14の実装で、
各種メソッドをクラスMに突っ込み、それを継承していると、
Cからメソッドを呼び出した際、どうしてもM&等の型しか返せず、
ダウンキャストがいちいち必要なのがウザイ。
具体的には、fromは既存の配列からコピー、sortはソートするメソッドとして、メソッドチェーンで初期化する際、
C& test = (C&)C( ... ).from( ... ).sort();
となり、fromやsortがM&を返すのでC&にダウンキャストする必要がある。
従来方式の初期化して使用なら問題はない。
コンストラクタは派生型を返し、メソッド群はM&で閉じているので。
A& test = A( ... );
test.from( ... ).sort();
メソッドをvirtualにすれば回避出来るはずだが、無駄にvirtualにしたくない。
B/C共に全く同一の関数で済むはずなので、可能で有れば共有したい。
諦めてB/C毎に同じ関数をtemplateで展開すれば出来るのは分かるが、これはしたくない。
何か方法有る?
継承を使わず、テンプレートで展開するしかないか?
コード上で展開されるのが、多少勿体ないんだが。
>>14の実装で、
各種メソッドをクラスMに突っ込み、それを継承していると、
Cからメソッドを呼び出した際、どうしてもM&等の型しか返せず、
ダウンキャストがいちいち必要なのがウザイ。
具体的には、fromは既存の配列からコピー、sortはソートするメソッドとして、メソッドチェーンで初期化する際、
C& test = (C&)C( ... ).from( ... ).sort();
となり、fromやsortがM&を返すのでC&にダウンキャストする必要がある。
従来方式の初期化して使用なら問題はない。
コンストラクタは派生型を返し、メソッド群はM&で閉じているので。
A& test = A( ... );
test.from( ... ).sort();
メソッドをvirtualにすれば回避出来るはずだが、無駄にvirtualにしたくない。
B/C共に全く同一の関数で済むはずなので、可能で有れば共有したい。
諦めてB/C毎に同じ関数をtemplateで展開すれば出来るのは分かるが、これはしたくない。
何か方法有る?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★2 [蚤の市★]
- 【食】「シャウエッセンは焼くべからず」暗黙のルールを破り売上高過去最高…日本ハム社員たちが「夜味」にかけた情熱 [ぐれ★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 神田沙也加さん元恋人で元俳優の前山剛久 六本木のメンズラウンジ勤務を報告「真叶(まなと)です。よろしく」 [muffin★]
- 地震 [Hitzeschleier★]
- 変な人「俺は正しい!お前らは間違っている!」←大体こいつのほうが迷惑で間違ってる件について
- ココアさん好き好き大好き
- ひまだねー
- 【朗報】南鳥島のレアアース、中国産の「20倍の純度」青山繁晴氏「日本は資源大国」日本復活のファンファーレが鳴り響く! [673057929]
- 「妨」という字が女へんという事実…
- (´・ω・`)おはよ
