エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります
コードを貼れる所
http://codepad.org/
https://ideone.com/
前スレ
【初心者歓迎】C/C++室 Ver.104【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1545944692/
探検
【初心者歓迎】C/C++室 Ver.105【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
2019/04/25(木) 06:54:38.08ID:6xUIrXDu
206デフォルトの名無しさん
2019/08/18(日) 12:24:08.36ID:vyOg2WJ0 変数(というよりテンプレート実引数)を特殊化なりオーバーロードなりで評価した結果コードが生成されない(テンプレートが実体化されない)のは最適化でも何でもない
207デフォルトの名無しさん
2019/08/18(日) 12:27:17.01ID:vyOg2WJ0 ただし、よくわかりもせずにテンプレートを持て囃したりC++歴数年でテンプレートに首突っ込む(しかも生産性ガン無視で)初心者が増えたのは俺も問題だと思う
208デフォルトの名無しさん
2019/08/18(日) 12:37:50.86ID:AmZy196G でもテンプレート便利じゃん
209デフォルトの名無しさん
2019/08/18(日) 12:52:38.69ID:rJ9LPM9I >>205
君の用語の使い方が独特で、君の思ってることを読み取れるエスパーは少ないって話だと思うよ。
マクロ展開の「実行評価」って何なの?
具体的な問題を挙げずに危険とかいうのは単なるFUDってやつじゃないの?
理解させるために言葉を工夫するつもりが無いなら黙ってくれていい。
君の用語の使い方が独特で、君の思ってることを読み取れるエスパーは少ないって話だと思うよ。
マクロ展開の「実行評価」って何なの?
具体的な問題を挙げずに危険とかいうのは単なるFUDってやつじゃないの?
理解させるために言葉を工夫するつもりが無いなら黙ってくれていい。
210デフォルトの名無しさん
2019/08/18(日) 18:15:25.68ID:XCKtcmfj211デフォルトの名無しさん
2019/08/18(日) 22:22:43.25ID:4oEGaRbg >>210
common lispで実行評価って、evaluationのことを言いたいのだろうか?それなら「評価」と訳されると思うけど、実行評価はググっても見当たらない。PDCAの用語と混同してるのではないかと思えてしまう。
common lispで実行評価って、evaluationのことを言いたいのだろうか?それなら「評価」と訳されると思うけど、実行評価はググっても見当たらない。PDCAの用語と混同してるのではないかと思えてしまう。
212デフォルトの名無しさん
2019/08/18(日) 23:03:24.76ID:Onid3Fuw lispがでてくるならこれはもう defmacro しかないんじゃないか?
213デフォルトの名無しさん
2019/08/18(日) 23:06:53.30ID:8LEpKI7v 用語でもめるくらいならサンプルコードでやれ
214デフォルトの名無しさん
2019/08/19(月) 01:57:01.62ID:DiXQVhta そやっ
common lisp言うたら相手びびるはずやっ
common lisp言うたら相手びびるはずやっ
215デフォルトの名無しさん
2019/08/19(月) 11:27:33.54ID:icNxZHqv まずはダイナミックとスタティックの違いがある
静的なものは未来永劫不動なので、一度作ったら未来でも一切変わらない
動的なものは「未来は不定である」「未来は誰にも分からない」という哲学あるいは神学から作られたので、未来に挙動が変わる
決定論的な未来の世界観では一度作ったらそれきり、静的なものが出来上がる
ここでいう決定は本当に神学で、全知全能の神を指している
未来の事柄があらかじめ全部分かっていれば、ダイナミックなことはしなくて良くなる、というのが、彼ら西洋人の究極の理想論
今分かることは動かす前に全部決め打ちすりゃーいい、ってのが静的だ
静的なものは未来永劫不動なので、一度作ったら未来でも一切変わらない
動的なものは「未来は不定である」「未来は誰にも分からない」という哲学あるいは神学から作られたので、未来に挙動が変わる
決定論的な未来の世界観では一度作ったらそれきり、静的なものが出来上がる
ここでいう決定は本当に神学で、全知全能の神を指している
未来の事柄があらかじめ全部分かっていれば、ダイナミックなことはしなくて良くなる、というのが、彼ら西洋人の究極の理想論
今分かることは動かす前に全部決め打ちすりゃーいい、ってのが静的だ
>>215
>未来の事柄があらかじめ全部分かっていれば、ダイナミックなことはしなくて良くなる、というのが、彼ら西洋人の究極の理想論
ラプラスの悪魔、という語句をご存知ですか?西洋人ですら「未来の事柄をあらかじめ」予測することはできない、と観念しているようですよ…
>未来の事柄があらかじめ全部分かっていれば、ダイナミックなことはしなくて良くなる、というのが、彼ら西洋人の究極の理想論
ラプラスの悪魔、という語句をご存知ですか?西洋人ですら「未来の事柄をあらかじめ」予測することはできない、と観念しているようですよ…
217入門
2019/08/19(月) 20:35:59.98ID:aCo9z6Zb 色んなサイトを見てC言語の文法を学習中なのですが構造体の自己参照のやり方がどうも分かりません。
かんたんな短いサンプルコードを使って教えてほしいです
よろしくお願い致します😪
かんたんな短いサンプルコードを使って教えてほしいです
よろしくお願い致します😪
218蟻人間 ◆T6xkBnTXz7B0
2019/08/19(月) 20:40:39.17ID:GYeBbzEk 構造体Aが内部に構造体Aを持つとすると、Aは無限の構造的ループを持つことになる。これはあり得ない。
自己参照するなら、Aのポインタを使わないといけない。
typedef struct A
{
struct A *next;
int value;
} A;
こんな感じになる。ポインタが分かっているなら、
A *a = (A *)calloc(1, sizeof(A));
a->next = NULL;
a->value = 666;
...
この変数aにさらに追加するなら、
A *b = (A *)calloc(1, sizeof(A));
a->next = b;
...
問題は破棄だが、自己参照をたどっていってすべてのAの実体に対して、
freeを呼ばないといけない。
自己参照するなら、Aのポインタを使わないといけない。
typedef struct A
{
struct A *next;
int value;
} A;
こんな感じになる。ポインタが分かっているなら、
A *a = (A *)calloc(1, sizeof(A));
a->next = NULL;
a->value = 666;
...
この変数aにさらに追加するなら、
A *b = (A *)calloc(1, sizeof(A));
a->next = b;
...
問題は破棄だが、自己参照をたどっていってすべてのAの実体に対して、
freeを呼ばないといけない。
219蟻人間 ◆T6xkBnTXz7B0
2019/08/19(月) 20:48:42.67ID:GYeBbzEk ただし、同じ実体に対して2回free関数を呼ぶことはできない。
また、解放した実体のメンバーは参照することができない。
参照すると、不正読み込みでプログラムが異常終了するかもしれない。
ということでパズルのように解放方法のアルゴリズムを考案しないといけない。
C言語というのは、そういうややこしさをはらんでいる。
また、解放した実体のメンバーは参照することができない。
参照すると、不正読み込みでプログラムが異常終了するかもしれない。
ということでパズルのように解放方法のアルゴリズムを考案しないといけない。
C言語というのは、そういうややこしさをはらんでいる。
220蟻人間 ◆T6xkBnTXz7B0
2019/08/19(月) 20:56:19.12ID:GYeBbzEk 1個追加したいときに、このようなコードをいちいち書くのは大変なので、
普通は「1個追加する」という動作を行う関数を用意する。
void add(A *a, int value)
{
A *b = (A *)calloc(1, sizeof(A));
b->next = NULL;
b->value = value;
a->next = b;
}
普通は「1個追加する」という動作を行う関数を用意する。
void add(A *a, int value)
{
A *b = (A *)calloc(1, sizeof(A));
b->next = NULL;
b->value = value;
a->next = b;
}
221デフォルトの名無しさん
2019/08/19(月) 21:05:52.16ID:thJnfNrr テンプレートの話題でlispの話題ならマクロの話ってピンとくるもんだと思ったが
結構バカが多いんだな。
結構バカが多いんだな。
222デフォルトの名無しさん
2019/08/19(月) 22:08:18.21ID:mpyM2QmS バカはお前だ
223入門
2019/08/19(月) 22:29:52.38ID:OunjwQY3224さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/08/19(月) 22:45:30.60ID:5pda5jNo calloc(1, sizeof(A))は、1*sizeof(A)バイトのメモリーブロックを確保し、ブロックをゼロでクリアする。そして先頭アドレスとしてvoid*型を返す。リファレンスをちゃんと読もう。全部書いてある。
225デフォルトの名無しさん
2019/08/20(火) 13:31:20.80ID:iQfxCe91 c++でanimal, dog, catなどのクラスを作ってオブジェクト指向の勉強してます.
dogとcatはanimalを継承するよくある例です.
適当にa[]という配列を切って,a[0]はdogのクラスでa[1]はcatのクラスで…
というようにしたいのですが,この配列a[]の型やaのクラスを指定するやり方が
分かりません.
最終的にはa[i].barkというようなことをやりたいです.
よくある質問だと思うのですが,適切な検索ワードが分からず困っています.
どうやったら良いかor適切なキーワードを教えてください.
dogとcatはanimalを継承するよくある例です.
適当にa[]という配列を切って,a[0]はdogのクラスでa[1]はcatのクラスで…
というようにしたいのですが,この配列a[]の型やaのクラスを指定するやり方が
分かりません.
最終的にはa[i].barkというようなことをやりたいです.
よくある質問だと思うのですが,適切な検索ワードが分からず困っています.
どうやったら良いかor適切なキーワードを教えてください.
226デフォルトの名無しさん
2019/08/20(火) 13:45:18.40ID:XxGMpj+X animalの配列にdog, catをアップキャストしてぶち込む
animal, dog, catのunionを作り、そのunionの配列を作る
animal, dog, catのunionを作り、そのunionの配列を作る
227デフォルトの名無しさん
2019/08/20(火) 13:52:03.45ID:XxGMpj+X 2つ目は違ったから忘れてくれ
228デフォルトの名無しさん
2019/08/20(火) 13:58:30.55ID:J42ZId0L >>226
さっぱり分かりませんがありがとうございます.これでgoogle先生に質問できます.
さっぱり分かりませんがありがとうございます.これでgoogle先生に質問できます.
229さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/08/20(火) 14:40:59.88ID:UPm4IEm3 ポインタの配列にしてポリモーフィズム。
230sage
2019/08/20(火) 15:46:52.82ID:5Gd7p9P4 >>229
こんな感じですか?
push_backでエラーが出てコンパイル出来ませんが…
std::vector<std::unique_ptr<Animal>> a;
a.reserve(2);
a.push_back(std::make_unique<Dog>());
a.push_back(std::make_unique<Cat>());
こんな感じですか?
push_backでエラーが出てコンパイル出来ませんが…
std::vector<std::unique_ptr<Animal>> a;
a.reserve(2);
a.push_back(std::make_unique<Dog>());
a.push_back(std::make_unique<Cat>());
231デフォルトの名無しさん
2019/08/20(火) 15:47:51.55ID:KtaU4TpY 基底クラスの実体配列じゃ多分無理で
基底クラスのポインタ配列しかないと思うわー
基底クラスのポインタ配列しかないと思うわー
232225
2019/08/20(火) 16:04:10.66ID:5Gd7p9P4 ポインタの配列を作ったつもりだったんですが違うんですね....
誰か簡単なコード書いてくれませんか?
誰か簡単なコード書いてくれませんか?
233デフォルトの名無しさん
2019/08/20(火) 16:32:36.95ID:ixrUSoxU c++17ならstd::variantが使えそうだけどね。
234デフォルトの名無しさん
2019/08/20(火) 18:41:29.45ID:XxGMpj+X235デフォルトの名無しさん
2019/08/20(火) 19:03:13.66ID:KUiZK6p2 >>230
普通にとおるような
普通にとおるような
236デフォルトの名無しさん
2019/08/20(火) 19:04:40.28ID:KUiZK6p2237デフォルトの名無しさん
2019/08/20(火) 19:05:34.46ID:PwBGX6fG238デフォルトの名無しさん
2019/08/20(火) 19:54:26.69ID:vf53Ia55239デフォルトの名無しさん
2019/08/20(火) 20:23:10.77ID:QkieET4w つか、エラー貼るまでもないだろ
std::unique_ptr
コイツはmovしかできないから、コンテナに格納できる条件に合わない。
スマートポインタをコンテナに入れたかったらsharedポインタを使う
常識じゃなかったのか
std::unique_ptr
コイツはmovしかできないから、コンテナに格納できる条件に合わない。
スマートポインタをコンテナに入れたかったらsharedポインタを使う
常識じゃなかったのか
240デフォルトの名無しさん
2019/08/20(火) 20:36:33.84ID:rT2paKVb unique_ptrはコンテナに格納可能という俺の常識とは違うようだな
241デフォルトの名無しさん
2019/08/20(火) 21:46:43.07ID:vf53Ia55242デフォルトの名無しさん
2019/08/20(火) 23:47:14.68ID:ehCs1rOT243230
2019/08/21(水) 20:14:24.97ID:tFOQQ8LH 質問者です。すいません。
コンストラクタのエラーでした。
無事コンパイルできました。
ありがとうございました。
コンストラクタのエラーでした。
無事コンパイルできました。
ありがとうございました。
244デフォルトの名無しさん
2019/08/26(月) 16:42:54.84ID:LypwkFGf 人の書いたプログラム読んでるですが,#includeとclassの定義の間に入ってるclassの意味が分かりません.
下の例で言うとHogeのところです.
これは何ですか?
#include <string>
class Hoge;
class Foo : public Bar
{
protected:
...
下の例で言うとHogeのところです.
これは何ですか?
#include <string>
class Hoge;
class Foo : public Bar
{
protected:
...
245デフォルトの名無しさん
2019/08/26(月) 16:47:52.57ID:goJw/KBc 前方宣言
246デフォルトの名無しさん
2019/08/26(月) 17:01:32.76ID:LypwkFGf ありがとうございます.ググって勉強しまう.
247デフォルトの名無しさん
2019/08/26(月) 19:18:54.68ID:YVFaeJ51 class TA{
static public int a;
}
があって、
int b = TA::a ;
のようにするのと、
TA A;
int b = A.a;
のようにするのは、bに読み込む速度は違うんですかね。
static public int a;
}
があって、
int b = TA::a ;
のようにするのと、
TA A;
int b = A.a;
のようにするのは、bに読み込む速度は違うんですかね。
248さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/08/26(月) 19:30:09.75ID:doK8kIo2 >>247
後者はAの実体を作るから遅いかも。まあ多分、最適化で変わらないと思う。
後者はAの実体を作るから遅いかも。まあ多分、最適化で変わらないと思う。
249デフォルトの名無しさん
2019/09/08(日) 17:10:16.42ID:eAq/jxOF wavファイルなどの外部の別ファイルを読み込んで使いたいのですが、どのようにやればいいのでしょうか…?
バイナリデータにして読み込む、みたいな方法を見かけたのですがファイルのサイズが大きすぎるとヒープの領域を使い果たしました的なエラーが出てしまって行き詰まっています
バイナリデータにして読み込む、みたいな方法を見かけたのですがファイルのサイズが大きすぎるとヒープの領域を使い果たしました的なエラーが出てしまって行き詰まっています
250デフォルトの名無しさん
2019/09/08(日) 17:38:17.62ID:46Wp6heU mallocを使う
まずは音ではなく画像、bmp読み込みから練習する
数百MBの音声ファイルよか数MBのbmp画像読み込みの方が気がラク
まずは音ではなく画像、bmp読み込みから練習する
数百MBの音声ファイルよか数MBのbmp画像読み込みの方が気がラク
251デフォルトの名無しさん
2019/09/08(日) 19:18:59.59ID:MtO5EQx1 >>249
一度に全データを読み込むのでなく、固定サイズのバッファに、必要な分だけ少しずつ読み込めばいい。
読み込み済みデータを再生するスレッドとは別に、もう一つのスレッドで再生にあわせてデータを先読みで読み込んでいけばいい。途切れなく再生するにはリングバッファとかを使う。
一度に全データを読み込むのでなく、固定サイズのバッファに、必要な分だけ少しずつ読み込めばいい。
読み込み済みデータを再生するスレッドとは別に、もう一つのスレッドで再生にあわせてデータを先読みで読み込んでいけばいい。途切れなく再生するにはリングバッファとかを使う。
252デフォルトの名無しさん
2019/09/08(日) 21:28:55.65ID:eAq/jxOF malloc・リングバッファ、詳しく調べて挑戦してみようと思います!
あとスレッドの概念もちゃんと理解できてない気がするのでそこも勉強しようと思います。
ありがとうございます!
あとスレッドの概念もちゃんと理解できてない気がするのでそこも勉強しようと思います。
ありがとうございます!
253デフォルトの名無しさん
2019/09/09(月) 10:46:06.36ID:QoBVzNSJ >ファイルのサイズが大きすぎると
積んでるメモリぐらいでかいファイルなのかな?
どういった読み込みで失敗してるんだろう?
積んでるメモリぐらいでかいファイルなのかな?
どういった読み込みで失敗してるんだろう?
254デフォルトの名無しさん
2019/09/09(月) 10:54:14.51ID:MF4WMKe5 > ヒープの領域を使い果たしました的なエラー
これからまず連想したのは、VCで巨大ファイルをリソース化しようとしたときに出るコンパイルエラーだな
どのタイミングで出たエラーか書いてないからわからんけど
これからまず連想したのは、VCで巨大ファイルをリソース化しようとしたときに出るコンパイルエラーだな
どのタイミングで出たエラーか書いてないからわからんけど
255デフォルトの名無しさん
2019/09/09(月) 11:17:30.78ID:QoBVzNSJ 実行ファイル中にリソースとして埋め込み
リソースからバイナリ列を引き出して(読み出して)
再生コードに渡す
音声を実行ファイルに埋め込みたかったのかな?
リソースからバイナリ列を引き出して(読み出して)
再生コードに渡す
音声を実行ファイルに埋め込みたかったのかな?
256249
2019/09/09(月) 13:17:02.59ID:4LFzbPos もう少し詳しく書くと、とあるプラグインを作りたくて、それ用のプロジェクトファイルのジェネレーターとVisual studio 2019 を使っています。
そのジェネレーターを通してwavファイルをバイナリデータ化しているのですが、wavファイルのサイズが一定以上になると「error C1060 ヒープの領域を使い果たしました」っていうエラーが出てビルドが通らない状態です。
10MBぐらいのwavファイルだと普通に通って、18MBぐらいになるとエラーが出ます。
そのジェネレーターを通してwavファイルをバイナリデータ化しているのですが、wavファイルのサイズが一定以上になると「error C1060 ヒープの領域を使い果たしました」っていうエラーが出てビルドが通らない状態です。
10MBぐらいのwavファイルだと普通に通って、18MBぐらいになるとエラーが出ます。
257デフォルトの名無しさん
2019/09/09(月) 13:19:41.05ID:By40c52C ソース貼れ
258デフォルトの名無しさん
2019/09/09(月) 13:27:07.20ID:8EKyQA8Q 企業秘密な秘伝のタレかもしれません
259デフォルトの名無しさん
2019/09/09(月) 13:27:52.11ID:FLVXg6p/ タレこめ
260デフォルトの名無しさん
2019/09/09(月) 14:06:32.05ID:QoBVzNSJ プラグイン本体にバイナリデータ埋めまず、エンドユーザーにはプラグインと音声ファイルを配布
音声ファイルのパスだけうまく帳尻あわせてファイル開いて、メモリ確保して、ファイル読んで、etc
って設計するかな
音声ファイルのパスだけうまく帳尻あわせてファイル開いて、メモリ確保して、ファイル読んで、etc
って設計するかな
261デフォルトの名無しさん
2019/09/09(月) 15:35:47.49ID:4OXc+RTk >>256
そのジェネレータとやらがエラー吐いたという話ならスレ違いだろう。
そのジェネレータとやらがエラー吐いたという話ならスレ違いだろう。
262デフォルトの名無しさん
2019/09/09(月) 16:07:02.52ID:aCapJVZa >>256
その秘伝のジェネレーターとやらがどんなコード吐いてるのか見当もつかないがとりあえず
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/fatal-error-c1060?view=vs-2019
の対策を片っ端からやればいいんじゃね?
その秘伝のジェネレーターとやらがどんなコード吐いてるのか見当もつかないがとりあえず
https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/fatal-error-c1060?view=vs-2019
の対策を片っ端からやればいいんじゃね?
263デフォルトの名無しさん
2019/09/12(木) 12:49:41.16ID:J5GPib5U スレチのような気もするんですが,ここが一番適切な回答がありそうなんで,質問させて下さい.
iPadでc++のコード(複数のファイルでつくられている)を読みたいんですが便利なビューワーありますか?
関数名やクラス名クリックしたら定義してるところまでジャンプしてくれるようなやつを探してます.
emacsで言うetagsみたいな機能のことです.
iPadでc++のコード(複数のファイルでつくられている)を読みたいんですが便利なビューワーありますか?
関数名やクラス名クリックしたら定義してるところまでジャンプしてくれるようなやつを探してます.
emacsで言うetagsみたいな機能のことです.
264デフォルトの名無しさん
2019/09/12(木) 13:17:15.41ID:FruSebPm 「ipad emacs」 でぐぐったら iPad用の emacs そのものがあるようだけど
265263
2019/09/12(木) 13:56:43.03ID:Ng4JTS7f >>264
後出しですいません.キーボードは使わないのでemacsはないです.あと,iPadのemacsはけっこうがっかりだった記憶が….
タッチでジャンプできると嬉しいのですが….
便利そうなエディタは何個かあるみたいなんですが,ジャンプ機能がないんですよね.
後出しですいません.キーボードは使わないのでemacsはないです.あと,iPadのemacsはけっこうがっかりだった記憶が….
タッチでジャンプできると嬉しいのですが….
便利そうなエディタは何個かあるみたいなんですが,ジャンプ機能がないんですよね.
266225
2019/09/17(火) 22:40:09.17ID:iQJ8U52u267デフォルトの名無しさん
2019/09/17(火) 22:42:37.60ID:cgXPZZnO MZうyちゃーーーん♪こんなとこにいたのかw
268蟻人間 ◆T6xkBnTXz7B0
2019/09/17(火) 22:52:04.49ID:vrvr50SL >>266
ポリモーフィズムがうまくできていればAnimalのポインタの配列にDogやCatのポインタを突っ込めるはず。
ポリモーフィズムがうまくできていればAnimalのポインタの配列にDogやCatのポインタを突っ込めるはず。
269デフォルトの名無しさん
2019/09/17(火) 22:54:48.57ID:cgXPZZnO >>268
んでサウンドは使えるようになったか?w
んでサウンドは使えるようになったか?w
270デフォルトの名無しさん
2019/09/17(火) 23:00:14.32ID:iQJ8U52u271蟻人間 ◆T6xkBnTXz7B0
2019/09/17(火) 23:04:06.26ID:vrvr50SL Animal *array[10] = {NULL};
array[0] = new Cat(2, 3);
array[0]->walk();
delete array[0];
array[0] = new Cat(2, 3);
array[0]->walk();
delete array[0];
272デフォルトの名無しさん
2019/09/17(火) 23:08:52.42ID:4Zel//hf >>270
一旦オブジェクト指向のことは忘れてポインタを先にしっかり学んできた方が近道かもよ。ここで小さなサンプル教えてもらって真似しても近い将来嵌まって行き詰まりそう。
オブジェクト指向の勉強が目的なら他の言語で始めた方が余計なところで躓かないと思う。
一旦オブジェクト指向のことは忘れてポインタを先にしっかり学んできた方が近道かもよ。ここで小さなサンプル教えてもらって真似しても近い将来嵌まって行き詰まりそう。
オブジェクト指向の勉強が目的なら他の言語で始めた方が余計なところで躓かないと思う。
273デフォルトの名無しさん
2019/09/17(火) 23:08:55.80ID:cgXPZZnO DIM MZUY(0)
274デフォルトの名無しさん
2019/09/17(火) 23:10:14.52ID:cgXPZZnO >>272
MZうyちゃーーーん♪はBASICで充分w
MZうyちゃーーーん♪はBASICで充分w
275デフォルトの名無しさん
2019/09/17(火) 23:12:50.50ID:iQJ8U52u DogやCatのインスタンスも複数あって、
Dog だけでループとかCatだけでループとかしたいんです。
animalだけでループするなら書いていただいたので良さそうなんですが。
Dog だけでループとかCatだけでループとかしたいんです。
animalだけでループするなら書いていただいたので良さそうなんですが。
277デフォルトの名無しさん
2019/09/17(火) 23:18:18.48ID:f5N3Fp86 目標の設定と要件定義が先だってよ(ゲラゲラ
278デフォルトの名無しさん
2019/09/17(火) 23:19:18.73ID:Ps8IF7R/ DogやCatに自身のタイプを返す機能をつけるか、typeidを使ってループをフィルタすればいい
279蟻人間 ◆T6xkBnTXz7B0
2019/09/17(火) 23:20:21.52ID:vrvr50SL dynamic_castでダウンキャスト失敗すればNULLが買える。一個800円。
280デフォルトの名無しさん
2019/09/17(火) 23:20:27.62ID:f5N3Fp86 それで完成品は100年後か?
281デフォルトの名無しさん
2019/09/17(火) 23:20:52.26ID:iQJ8U52u 初心者スレだし、解答欲しいです。
282デフォルトの名無しさん
2019/09/17(火) 23:21:58.70ID:f5N3Fp86 バカのうんちくは回しコピペと同じw
283デフォルトの名無しさん
2019/09/17(火) 23:22:25.46ID:iQJ8U52u284デフォルトの名無しさん
2019/09/17(火) 23:23:03.14ID:Ps8IF7R/ for(auto a : animals){
if(typeid(a) == typeid(Dog*){
}
}
if(typeid(a) == typeid(Dog*){
}
}
285デフォルトの名無しさん
2019/09/17(火) 23:23:37.07ID:f5N3Fp86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286蟻人間 ◆T6xkBnTXz7B0
2019/09/17(火) 23:24:00.17ID:vrvr50SL dynamic_cast<Cat>(array[0]) == NULLだったらarray[0]はネコではない
287デフォルトの名無しさん
2019/09/17(火) 23:24:31.61ID:f5N3Fp86 || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
||. =ねらー三原則= ||
|| 1.助けない ||
|| 2.教えない 。 ∧_∧ いいですね。
|| 3.関わらない\ (゚Д゚,,)
||________⊂⊂ |
∧ ∧ ∧ ∧ ∧ ∧ | ̄ ̄ ̄ ̄|
( ∧ ∧ ( ∧ ∧ ( ∧ ∧ | |
〜(_( ∧ ∧ __( ∧ ∧__( ∧ ∧ ̄ ̄ ̄
〜(_( ∧ ∧_( ∧ ∧_( ∧ ∧ は〜い、先生。
〜(_( ,,)〜(_( ,,)〜(_( ,,)
〜(___ノ 〜(___ノ 〜(___ノ
||. =ねらー三原則= ||
|| 1.助けない ||
|| 2.教えない 。 ∧_∧ いいですね。
|| 3.関わらない\ (゚Д゚,,)
||________⊂⊂ |
∧ ∧ ∧ ∧ ∧ ∧ | ̄ ̄ ̄ ̄|
( ∧ ∧ ( ∧ ∧ ( ∧ ∧ | |
〜(_( ∧ ∧ __( ∧ ∧__( ∧ ∧ ̄ ̄ ̄
〜(_( ∧ ∧_( ∧ ∧_( ∧ ∧ は〜い、先生。
〜(_( ,,)〜(_( ,,)〜(_( ,,)
〜(___ノ 〜(___ノ 〜(___ノ
288蟻人間 ◆T6xkBnTXz7B0
2019/09/17(火) 23:24:40.10ID:vrvr50SL dynamic_cast<Cat*>(array[0]) == NULLだったらarray[0]はネコではない
289デフォルトの名無しさん
2019/09/17(火) 23:27:47.60ID:iQJ8U52u290デフォルトの名無しさん
2019/09/17(火) 23:41:03.11ID:4Zel//hf >>289
それなら条件に該当するエントリのポインタを抜き出した配列を作ってループすればいいんじゃないか?
ループ内の処理が並列化する価値があるくらいコストかかるなら、ポインタを抽出してコピーするコストは無視できるかと思われる。
それなら条件に該当するエントリのポインタを抜き出した配列を作ってループすればいいんじゃないか?
ループ内の処理が並列化する価値があるくらいコストかかるなら、ポインタを抽出してコピーするコストは無視できるかと思われる。
291デフォルトの名無しさん
2019/09/18(水) 00:08:00.90ID:yNiXaOMn292デフォルトの名無しさん
2019/09/18(水) 12:06:57.92ID:L8SHYgAR >>266
C#スレでマルチしてないかお前
C#スレでマルチしてないかお前
293デフォルトの名無しさん
2019/09/18(水) 20:26:23.65ID:yNiXaOMn >>292
してないやでー
してないやでー
294デフォルトの名無しさん
2019/09/22(日) 11:43:54.30ID:LQCFANDg > Animal *array[10] = {NULL};
20年以上前に配列要素を一つ以上書かないといけない処理系があったな
タイムスリップでもしてきたか
20年以上前に配列要素を一つ以上書かないといけない処理系があったな
タイムスリップでもしてきたか
295デフォルトの名無しさん
2019/09/22(日) 11:53:00.80ID:y42gsAly Animal *array[10] = {p0, p1, p2};
だとすると
array[0] 〜 array[2] は p0〜p2 になるが
array[3] 以降は全部 NULL で FA?
だとすると
array[0] 〜 array[2] は p0〜p2 になるが
array[3] 以降は全部 NULL で FA?
296デフォルトの名無しさん
2019/09/22(日) 16:44:01.11ID:dRs63Jnx >>295
引数の無いコンストラクター呼ばれる
引数の無いコンストラクター呼ばれる
297デフォルトの名無しさん
2019/09/22(日) 16:45:05.27ID:zrmuC8G0 char *array[10] = {p0, p1, p2};
だとすると
array[0] 〜 array[2] は p0〜p2 になるが
array[3] 以降は全部 NULL で FA?
だとすると
array[0] 〜 array[2] は p0〜p2 になるが
array[3] 以降は全部 NULL で FA?
298デフォルトの名無しさん
2019/09/22(日) 17:27:15.07ID:kTa1SMwh >>296
ポインタだぞ?
ポインタだぞ?
299デフォルトの名無しさん
2019/09/22(日) 18:52:04.08ID:9/tlWbjv >>294
Cだと今でもダメだから、それ見たんじゃないの?
Cだと今でもダメだから、それ見たんじゃないの?
300デフォルトの名無しさん
2019/09/22(日) 19:39:28.11ID:KmeF3kAh >>298
ポンタってローソンのカード?
ポンタってローソンのカード?
301デフォルトの名無しさん
2019/10/01(火) 17:46:09.39ID:yQHk6Pyq Windows の普通のソフトのインストーラは Program Files 以下に適当なフォルダを作ってそこにファイルをまとめて入れるけど、
コマンドラインアプリの場合ってどうしてる?
GUI アプリと同じようにフォルダに突っ込んで環境変数 PATH を設定するってのが標準的なやり方だと思うけど、
そういうのが増えてくると PATH が長大になって嫌な感じなので、なんかうまい方法ってないもんかな?
C/C++ とは直接の関係がなくてスマソ。 どのスレがベストかわからんかったもんで。
コマンドラインアプリの場合ってどうしてる?
GUI アプリと同じようにフォルダに突っ込んで環境変数 PATH を設定するってのが標準的なやり方だと思うけど、
そういうのが増えてくると PATH が長大になって嫌な感じなので、なんかうまい方法ってないもんかな?
C/C++ とは直接の関係がなくてスマソ。 どのスレがベストかわからんかったもんで。
302デフォルトの名無しさん
2019/10/01(火) 19:01:46.51ID:HsilaFth 環境変数なんて入れずに叩くときにフルパス入れりゃいいだけでは?
303デフォルトの名無しさん
2019/10/01(火) 19:48:41.05ID:yQHk6Pyq >>302
フルパスを前提にすると連携しづらい場合が出てくるんよ。
「このバッチファイルを実行するにはこのソフトとこのソフトを入れてね!」
みたいなことをやろうとすると、想定してたのと違うフォルダにインストールしてるだけで破綻してしまう。
32bit のアプリケーションって 32bit 版の Windows だと Program Files に入るけど
64bit 版の Windows だと Program Files (x86) 入るようにするのが基本的な作法じゃん?
それだけでも違ってしまうけど
システムドライブとは違うドライブにアプリケーションをインストールしたりする運用をやってる人は意外にいるので、
インストール先を選択させずに固定するってのも縛りが強いかなぁと思うし。
どこにインストールしてでも同じように使えるようにするには PATH くらいしか選択肢がなくなる。
でも嫌。 っていう話。
フルパスを前提にすると連携しづらい場合が出てくるんよ。
「このバッチファイルを実行するにはこのソフトとこのソフトを入れてね!」
みたいなことをやろうとすると、想定してたのと違うフォルダにインストールしてるだけで破綻してしまう。
32bit のアプリケーションって 32bit 版の Windows だと Program Files に入るけど
64bit 版の Windows だと Program Files (x86) 入るようにするのが基本的な作法じゃん?
それだけでも違ってしまうけど
システムドライブとは違うドライブにアプリケーションをインストールしたりする運用をやってる人は意外にいるので、
インストール先を選択させずに固定するってのも縛りが強いかなぁと思うし。
どこにインストールしてでも同じように使えるようにするには PATH くらいしか選択肢がなくなる。
でも嫌。 っていう話。
304デフォルトの名無しさん
2019/10/01(火) 20:00:47.20ID:gawiB1ps 20年以上前からある問題だな
Windowsではその辺は未だにグダグダだと認識している
Windowsではその辺は未だにグダグダだと認識している
305デフォルトの名無しさん
2019/10/01(火) 22:13:00.30ID:sghBprd5 >>303
設定でその外部アプリへのパス指定できるようにすれば?
インストール先固定、環境変数追加、レジストリ追加よりユーザーに指定させるほうが個人的には好き
というかこの三種のような方法をとるアプリはそもそもインストールを躊躇する
設定でその外部アプリへのパス指定できるようにすれば?
インストール先固定、環境変数追加、レジストリ追加よりユーザーに指定させるほうが個人的には好き
というかこの三種のような方法をとるアプリはそもそもインストールを躊躇する
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★4 [蚤の市★]
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★5 [七波羅探題★]
- 【速報】 米トランプ政権声明 「中国が台湾を奪おうとする、いかなる試みも阻止する」 中国「レッドラインだ」 ★2 [お断り★]
- 元プロ野球選手・堂上隼人(43)を20代女性2人へのわいせつ未遂容疑で8回目の逮捕…これまでの被害者は10代・20代の女性11人に [Anonymous★]
- 「残業キャンセル界隈」若者が増加?「職務放棄」との批判も…“定時退社の権利”どこまで通用するか [七波羅探題★]
- 【高校野球】なぜ『7回制』は反対多数でも止まらないか… 高野連が「全員の命」守るために貫く伝統より改革の姿勢 [冬月記者★]
- 北陸新幹線、26年度着工断念へ「小浜・京都」に異論、予算計上せず―国交省調整 [943688309]
- 【高市悲報】自衛隊「実は事前に現場海域で中国軍から空母での発着訓練をすると通告がありました」え…?😨😨 [931948549]
- 【悲報】ドコモ ひかりTVを値上げ [358382861]
- 【悲報】地銀や生保 長期金利急上昇で含み損が加速 [358382861]
- 【高市速報】中国「このままだと日本が先制攻撃してくる」 [583597859]
- 【速報】旧統一教会会長が辞任 [459590647]
