[過去ログ] C++相談室 part138 (996レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: (スフッ Sd9f-fGne) 2018/08/05(日)18:02 ID:DigzqJtZd(1) AAS
次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512

C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。

前スレ
C++相談室 part137
2chスレ:tech

このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
省7
2
(1): (ブーイモ MMa7-gYkF) 2018/08/05(日)18:29 ID:QdoPuPH9M(1) AAS
STLつかうと一気に実行ファイルサイズが10倍に?!

環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない

すげえ。ダイナミックリンクしといてファイルサイズが増えないとかいってるよ。この人。

C1010: プリコンパイル済みヘッダーの検索中に予期しない EOF を検出しました。
とかいうエラーが出るんだけどこれってどうすればいいの?

#include <stdafx.h>
後死ね。
省4
3: (ワッチョイ ffcf-XO5Y) 2018/08/06(月)01:35 ID:BcLtAmRR0(1) AAS
>>2
テンプレ乙w
4: (ワッチョイ e35e-sMWb) 2018/08/06(月)19:00 ID:dB2jG9W70(1) AAS
おすすめのC++を教えてください‼
5: (ワッチョイ 338a-vpSm) 2018/08/06(月)19:08 ID:Z6d+75Qr0(1) AAS
MIWA C++
6
(1): (オッペケ Sr03-s/wt) 2018/08/11(土)09:08 ID:9wE6Nq69r(1/2) AAS
rad c++ builderでファイルの入出力やドラッグ&ドロップ 簡単なdb操作は出来る様になったけど、もう一歩踏み出したいです

福岡当たりで勉強会みたいなのはないでしょうか?

大阪、東京でも有るなら飛行機使っていきたいです
7: (オッペケ Sr03-s/wt) 2018/08/11(土)09:14 ID:9wE6Nq69r(2/2) AAS
6です
c++ builderのスレッドが合ったので
そちらで聞いてみます

失礼しました
8: ◆QZaw55cn4c (ワッチョイ ea60-Qb5F) 2018/08/11(土)19:46 ID:vW2Ha+vq0(1) AAS
>>6
「C++ の勉強会」
なんだか魅惑的な響きですね…
9
(3): (ワッチョイ ed85-EM0A) 2018/08/28(火)21:29 ID:t/yKDZjb0(1/2) AAS
関数内にstaticつけたクラス変数定義した場合、
コンストラクタは関数を最初に呼び出したときだけ呼ばれると思います。
これはどういう仕掛けなのですか?どこかにフラグがこっそり用意されるのでしょうか。
10
(2): (ワッチョイ b98a-WOyi) 2018/08/28(火)22:30 ID:CqD+kceR0(1) AAS
>>9
前提が間違い
よって無術
11: (ワッチョイ ed85-EM0A) 2018/08/28(火)22:51 ID:t/yKDZjb0(2/2) AAS
>10
ちょっと書き方間違えました。
定義ではなく宣言です。

間違ってますでしょうか?ではコンストラクタが呼ばれるタイミングはどこでしょうか
12: (ブーイモ MM01-my2l) 2018/08/28(火)23:03 ID:bcRKdMjSM(1) AAS
>>9
クラス変数とは言わないよ

そのとおりフラグがある
さらに11か14かは忘れたけどmt safeにもなった
つまり同期プリミティブも裏で作られている
13: (ワッチョイ 954f-kiUO) 2018/08/28(火)23:12 ID:UyOLOIaa0(1) AAS
>>9
コードで書いた方がいい。
どうせ用語を間違っていて、正確には通じてないから。
エスパーで話すのもありだとは思うけど、回答を信頼出来ないだろ。
14
(1): (ワッチョイ db4f-f65Y) 2018/09/08(土)15:23 ID:Bduckbke0(1/2) AAS
virtualなデストラクタを持たないクラスを継承しているクラスを派生していない状態でコンテナ等に入れた場合、
エラーまたは警告にする方法ってある?

典型的な「デストラクタをvirtualにしろ」のケースであり、
安全性だけを取るのならそうすれば済むのだが、大量使用したいのでコストを限界までケチりたい。
可能であればコンパイラにチェックさせたい。

具体的に言うと、Matz曰く「実装が漏れてる」の典型的なケース、配列について、
長さと先頭のポインタをstructにして、各操作をそれに対するメソッドとして記述し、
スクリプト言語風に簡潔に書けるか試したい。
std::spanの再実装に近いので、そちらで言うと、
https://github.com/tcbrindle/span/blob/master/include/tcb/span.hpp
省9
15: (ワッチョイ db4f-f65Y) 2018/09/08(土)22:19 ID:Bduckbke0(2/2) AAS
もう一つよろしく。

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の結果で簡単に追跡出来た。
省3
16: (ワッチョイ db4f-f65Y) 2018/09/11(火)19:14 ID:85ZJZj420(1/10) AAS
抽象型のメソッドを使ったときにも型を失わず、派生型のままで返す方法って無いよね?
継承を使わず、テンプレートで展開するしかないか?
コード上で展開されるのが、多少勿体ないんだが。

>>14の実装で、
各種メソッドをクラスMに突っ込み、それを継承していると、
Cからメソッドを呼び出した際、どうしてもM&等の型しか返せず、
ダウンキャストがいちいち必要なのがウザイ。

具体的には、fromは既存の配列からコピー、sortはソートするメソッドとして、メソッドチェーンで初期化する際、

C& test = (C&)C( ... ).from( ... ).sort();

となり、fromやsortがM&を返すのでC&にダウンキャストする必要がある。
省8
17
(1): (ブーイモ MM06-M35H) 2018/09/11(火)21:29 ID:THBnA1g1M(1) AAS
そもそもなんのためにMから継承してんのか考えてみたら
18: (ワッチョイ db4f-f65Y) 2018/09/11(火)21:47 ID:85ZJZj420(2/10) AAS
>>17
オブジェクト指向ではMで閉じるというのが正しいと思いこんでるんだろ。
それは一面にすぎない。

JavaScriptではメソッドチェーンで型を失わない。
だから上記のようなことも平気で出来る。
勿論C++でも実装を別々にすれば出来るが、ダブる分無駄に膨らむ。
或いはvirtualにしても出来るが、これはポインタ一つ分データが膨らみ、呼び出しも遅くなる。
最適化した状態での記述方法がない。

今回、AとCの違いはデストラクタ内で解放するかどうかだけであり、
当然全てのメソッドは共有出来る。
省2
19: (ワッチョイ db4f-f65Y) 2018/09/11(火)21:53 ID:85ZJZj420(3/10) AAS
ちなみに技術的には、super に対するキーワード derived が足りないのだと思う。
クラスM内で、

M& from(){ ... ; return *this;}

ではなく

derived& from(){ ... ; return *this;}

と出来て「呼び出した型」を返せれば全く問題ないんだが。
この辺のキーワードって無いよね?
20
(1): (ブーイモ MMaf-M35H) 2018/09/11(火)22:08 ID:t5mEMNA5M(1) AAS
なんだ、JavaScriptという一側面だけ見てC++に立ち向かってるアホだったのか
まぁがんばれよ
1-
あと 976 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.275s*