検索結果 64 件

by spaaaark・∀・
3年前
フォーラム: C言語何でも質問掲示板
トピック: Android NDKによるC++11以降の機能の使い方について
返信数: 2
閲覧数: 3973

Re: Android NDKによるC++11以降の機能の使い方について

すいません、本件自己解決しました。 設定として、下記リンクによりC++バージョンをC++17に指定したところ、 CodeInspectorの表示に関わらずコンパイルが通ることが判明しました。 https://qiita.com/yumetodo/items/bd8f556ab56298f19ba8 おそらく、makeを行う際の設定はgradleには設定できるものの、 CodeInspectorにはその設定が反映されずエラーと表現されたと推定されます。 今回このスレッドはAndroidにてソフトウェアを動かすことが目的であり、 アプリ自体は動作することができたため、ここでトピックを閉じようと思い...
by spaaaark・∀・
3年前
フォーラム: C言語何でも質問掲示板
トピック: ループ内でのオブジェクトの動的確保について
返信数: 5
閲覧数: 4274

Re: ループ内でのオブジェクトの動的確保について

このコードは、気を付けてくださいと言ったぬるぽを出しています(( if文の比較の際car変数が実体を指さないために、このコードは実行時エラーとなります。 対策は、例えば消し忘れたコードをif文の手前に持ってくるとコードは動作します。 (if文での比較前にcar変数にインスタンスを生成することがポイントです。) 恐らく現物の実装は常時実体があるわけではないと思うので、 宣言の際にcar(nullptr)と、スマートポインタをnullptrで初期化したうえで、 nullptrをif文でチェックしてから紹介した比較を行う必要があります。 なおこのとき、nullptrからインスタンスを作成する条件文は...
by spaaaark・∀・
3年前
フォーラム: C言語何でも質問掲示板
トピック: ループ内でのオブジェクトの動的確保について
返信数: 5
閲覧数: 4274

Re: ループ内でのオブジェクトの動的確保について

検証してみましたが、typeidが一致するのはポインタの実体を入れたときだけのようです。
なのでポインタの実体を参照するようにするとうまく行くと思います。
(ただし、ぬるぽにはご注意ください。)

検証コード:
https://ideone.com/4f0Eht
by spaaaark・∀・
3年前
フォーラム: C言語何でも質問掲示板
トピック: Android NDKによるC++11以降の機能の使い方について
返信数: 2
閲覧数: 3973

Android NDKによるC++11以降の機能の使い方について

ご無沙汰しております。spaaaark・∀・です。 この度DxLibを用いたゲームについて、Androidアプリへの移植を検討しております。 下記の質問はAndroid Studioを使い始めたばかりの初心者としての質問であることをご了承ください。 WindowsにてVisual Studio 2019で開発したC++コード(C++11以降の機能を含む)を Android NDKを用いてAndroidプロジェクトへインポートし、Code Inspectorを使用したところ、 STLイテレータをautoで型推論するところで下記のエラーを示しており、 素人目にはC++11以降の機能がうまく働いてい...
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: C++ のクラス
返信数: 3
閲覧数: 6409

Re: C++ のクラス

これは僕個人の意見であるためもしかしたらもっといい方法があるかもしれないという事を留意ください。 この中からどれを使うかと聞かれるとどれでもないんですが、僕なら2に近い方法を取っていきます。 具体的に言いますと、2のように共通の変数部は別クラス化します。 ただしこの要素たちは全てpublicで、同クラス内に関数は持たせないようにします。 そしてこのクラスをcharacterクラスのメンバとして置いておきます。まとめるとこんな感じになります。 class CValues{ public:   ... }; class CCharacter{   CValues mValue;   /*以下メンバ...
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: 画面回転後にView設定が適用できない。
返信数: 3
閲覧数: 2974

Re: 画面回転後にView設定が適用できない。

Dixq (管理人) さんが書きました:関係ないですけど、自作関数が大文字から始まってますが、javaは関数名を小文字から始める慣習がありますよ。
本当ですね…。少し見てみたら確かにシステム関数とかも統一されてました。意識して書きたいと思います。
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: 画面回転後にView設定が適用できない。
返信数: 3
閲覧数: 2974

Re: 画面回転後にView設定が適用できない。

自己解決しました…。 メインのソースコードを以下のように修正したところ、思うような動作が確認できました。 package spark.sin.virtualtripv2; /*中略*/ if(mIsFirstCreate) { if(savedInstanceState == null) startPreference(); } /* その他フラグメントのコミット */{ getFragmentIfNeeded(SetMiniPreferenceFragment.class, "miniPreference"); //transaction.add(getID(R.integer.posLis...
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: 画面回転後にView設定が適用できない。
返信数: 3
閲覧数: 2974

画面回転後にView設定が適用できない。

Androidにおいて、現在アプリを製作中の物です。 Preferenceで設定したフラグを用いてradioButtonの有効/無効を決定するプログラムを書いていたのですが、 最初は期待通りの動作をするもの、一度画面を回転させてからこれらの機能が聞かなくなってしまいます。 具体的には以下の画像のような感じです。左が回転前、右が回転後となります。 [album]929[/album]     [album]930[/album] また、記述したプログラムを以下に示します。このプログラムは別のActivityで実装した機能を再利用するため、 当該Activityを継承して利用するようなスタイルにな...
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: Androidアプリでのルート探索はどのAPIを使うべき?
返信数: 2
閲覧数: 3691

Re: Androidアプリでのルート探索はどのAPIを使うべき?

さらに追加です。
あちらの掲示板にて使用しても大丈夫であろうという見解が出ましたので、アプリ上で展開できるDirections APIを使うこととします。
また、後者はAPI群の中の1機能であると判断したため、アプリには組み込めないという事もあり、使うのはまた機会があれば、
という事にします。お騒がせいたしました。
オフトピック
向こうの掲示板でも返信欄ではありますが、URLを取り付け相互リンク化しました。
また、あちらのガイドラインを見ますとマルチポスト禁止の記載がありませんでしたので、恐らく向こうのルールとしては大丈夫であると思われます。
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: Androidアプリでのルート探索はどのAPIを使うべき?
返信数: 2
閲覧数: 3691

Re: Androidアプリでのルート探索はどのAPIを使うべき?

追加情報です。
Directions APIの方で自分の目標としている機能が実装できました。
ただ後の事を考えた際にガイドラインに違反する可能性が出てきたため、こちらでこれに関する質問を行いました。
回答を参照し、問題がなければこちらのAPIを使用したいと思います。
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: Androidアプリでのルート探索はどのAPIを使うべき?
返信数: 2
閲覧数: 3691

Androidアプリでのルート探索はどのAPIを使うべき?

どうもこんにちは、spaaaark・∀・です。 現在今月終わりごろ発表のあるコンテストの作品制作をしておりまして、そこで疑問に思ったことがあるため質問します。 私はコンテストのためにAndroidアプリを製作しており、その中でgoogleマップを使用しています。 表示にはgoogleから提供されているGoogle Maps Android API v2 を使用しています。 このアプリの構想の中に、ユーザーが指定した複数の点(位置)から、そのルートを順番に表示していく、というものがあります。 これは例えばユーザーがA,B,C,Dの4点を指定した後で、A->B、B->C、C->Dのルートを順次表示...
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: コンテナAから1要素だけコンテナBへ移動
返信数: 2
閲覧数: 2676

Re: コンテナAから1要素だけコンテナBへ移動

調べてみたところ、std::moveは移動元の要素を削除する機能がなかったようなので、
両者がvectorでよかったためみけCAT氏の回答のコードを活用し、目的の動作を達成しました。
わざわざありがとうございました。
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: コンテナAから1要素だけコンテナBへ移動
返信数: 2
閲覧数: 2676

コンテナAから1要素だけコンテナBへ移動

どうもこんにちは、spaaaark・∀・です。 タイトルの通り、C++においてあるコンテナの要素を1つだけ別のコンテナに移動させる方法を探しています。 std::moveを使い、自分でこのようなコードを記述したのですが、Aの要素が1つだけの時にイテレータでの 範囲外アクセスによるランタイムエラーが発生しました。 // (main関数部分等は省略します) int Current = 0; // 実際には任意の数 std::vector<unsigned int> A,B; B.reserve(B.size() + 1); // やりたいこと:A[0]の要素をBの終端へ移動する std::move...
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: 仮引数の省略でエラー
返信数: 8
閲覧数: 5962

Re: 仮引数の省略でエラー

usaoさんの補足という事で。 プロトタイプ宣言では確かに仮引数の名称を省略できますが、実はint aとint a[]では型が違います。 引数は1つにつき1つの情報しか渡せないので、配列のようにたくさんのデータがある場合は、 値全てを渡すわけではなく、別の物を渡してその関数内でも同じように扱えるような処理を行います。 少し考えてみてください。載せていただいたソースコードを実行すると、関数の実行前後で引数として 指定した配列要素の値が異なるはずです。でも、これは普通に考えればあれ?と思うはずなんです。 値全てを渡しているなら、仮引数から実引数の値を変更できないわけですから。 …勘がよければこれだ...
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: Objectを大量に描画したいが…重い。なにかが悪い。
返信数: 59
閲覧数: 32321

Re: Objectを大量に描画したいが…重い。なにかが悪い。

皆さんが色々な意見を投稿しておられますが、僕は処理に関する気になる所を攻めてみます。 まず、すべての敵・障害物で同じクラスを使っている件について。 これはいろいろとまずいです。比較で処理が遅くなってしまったり、あるいはコードが読みにくくなってしまったり。 これはポリモーフィズムを用いて、同じような機能を持ちながら別の処理を行なえるような処理にするべきです。 これを用いれば少なくとも障害物と敵との差別化は図れるはずです。 あとは画像の違いなど、軽い変更なら汎用化して外部データ化するのもありです。例えばcsvのような。 これでファイル数の増加も抑えることができます。 なお、どっちの方が見やすく、修...
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib::GetDrawScreenGraph関数について
返信数: 5
閲覧数: 4425

Re: DxLib::GetDrawScreenGraph関数について

リンク先の掲示板で調査していただいたところ、別の処理系で非同期読み込みが切れておらず、
それによりデータが作成される前のハンドルが渡っていたことが原因だと判明しました。
よって間違っているのはこの部分ではなく、ファイルを読み込むクラスにあり、これを修正したところ、
正常に表示されることが確認できました。お騒がせしました。
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: 関数呼び出し
返信数: 5
閲覧数: 2506

Re: 関数呼び出し

ソースコードがないので何とも言えないのですが、ひとまず同じクラス内ならメンバ変数を関数①内で変更している
可能性があります。その場合はその値を別のローカル変数に入れ、処理を行うことで現象が解決するはずです。
クラスの場合メンバ変数の値はクラス内のすべての関数で同じ値が使われます。(クラス内のグローバル変数みたいな感じ)
これを迂闊に変更すると動作のバグを引き起こす原因となりますので、一度確認してみてください。
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: 循環参照?の解決方法
返信数: 2
閲覧数: 2149

Re: 循環参照?の解決方法

うーん…構造的な問題が少し気になる所ですが、ひとまず解決する方法として有効なのは その処理で必要なデータをメンバ関数の引数にしてしまうこと、でしょうか。 こうすることによってそれぞれが独立した状態でインスタンスを作ることができます。 初期化処理に必要な場合も同様です。ただコンストラクタで初期化するんじゃなくて、 初期化用の関数を作り、それを呼び出した方がいいと思います。 あと、ヘッダーファイルをそのままインクルードするのではなく、実体アクセス以外なら先に クラス名のみを宣言して、cppでそのソースコードを読み込むことが可能です。 /* 1.h */ #pragma once class Fug...
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib::GetDrawScreenGraph関数について
返信数: 5
閲覧数: 4425

Re: DxLib::GetDrawScreenGraph関数について

いろいろ調べた結果、DxLib自体のバグの可能性が出てきた(関数にMakeScreenのサンプルを
入れたら同じ現象が起こった)ので、DXライブラリ質問掲示板とマルチポストという形を
取らせていただきます。よろしくお願いします。

http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=3370
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib::GetDrawScreenGraph関数について
返信数: 5
閲覧数: 4425

Re: DxLib::GetDrawScreenGraph関数について

以下のコードを追加して実行してみたら-1が返ってきました…。

コード:

int b = DxLib::DrawGraph(0,0,TextureID,TRUE);
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib::GetDrawScreenGraph関数について
返信数: 5
閲覧数: 4425

Re: DxLib::GetDrawScreenGraph関数について

進捗状況です。 動作が重いので初期化タイミングを変更し、DrawRectGraph関数を使うこととしました。 以下にそのコードを示します。 const int DefGraphID = pGraphData.GetDataHandle(l_pNowDivGraphData->GraphicHandle); const int CutPos[] = { l_pNowDivGraphData->BeginPos.first, l_pNowDivGraphData->BeginPos.second, l_pNowDivGraphData->DivSize.first , l_pNowDivGraph...
by spaaaark・∀・
9年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib::GetDrawScreenGraph関数について
返信数: 5
閲覧数: 4425

DxLib::GetDrawScreenGraph関数について

結構久しぶりの投稿です。 画像ファイルにテクスチャを群として保存しておき、その1部分をモデルのテクスチャとして使いたいのですが、 DxLib::GetDrawScreenGraph関数の要件である画像サイズをそろえているにもかかわらず、この関数でエラーが出てしまいます。 以下に実行しているコードを記述します。 const int DefGraphID = pGraphData.GetDataHandle(l_pNowDivGraphData->GraphicHandle); const int CutPos[] = { l_pNowDivGraphData->BeginPos.first, l...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibの3D、ライトについて
返信数: 3
閲覧数: 3722

Re: DxLibの3D、ライトについて

返信ありがとうございます。
なるほど、ライト以外にも光源を表現する方法があるという事ですね、分かりました。
metasequoiaでモデルを作っているのですが、無償版なので頂点カラー等の編集ができない状態です。
しかし、同ライブラリ上のSetMaterialParam関数を使って、その部分をあとから追加で描画すれば、
うまくいくだろうと考察できます。光の色の調整もできますしね。

方針が決まりましたので、当トピックはこれで解決という事にします。作っていく上で疑問が生じた場合、
それはまた別トピックで質問しようと思います。その時はまたよろしくお願いします。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLibの3D、ライトについて
返信数: 3
閲覧数: 3722

DxLibの3D、ライトについて

DxLibで3Dを触るのは初めてなspaaaark・∀・です。 製作するにあたってリファレンスを読んでいたところ、気になるものを発見しました。 尚、ライトハンドル系の関数は一つしかない標準ライト以外にライトを使用したい場合に使用します。 ( とはいえ同時に有効にできるのは標準ライトを含めて3つまでですが・・・ ) 気になるのは()で囲まれた部分で、これってライトを同時に3つまでしか使えないのか気になりました。 作りたいのは これ のようなメカスロゲームなんですが、画像を見て分かるように見える場所、 他リール内部などに多数のライト(=光源)が配置されてます。これを実際にゲーム上で表現したいのです...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: FPSまたは小数点以下の計算について
返信数: 10
閲覧数: 6208

Re: FPSまたは小数点以下の計算について

なるほど、確かにデバッグにおいて正確にタイミングを見計らうと4枚目のフレームにおいて音がなってしまいますね。 恐らく質問者さんはそこが気に入らないのではないかと推測します。 解決方法ですけど、質問者さんもお分かり頂けている通り、calc関数は1フレーム(≒1/60秒)毎に呼び出されています。 逆に言えば、calc関数は1フレーム(≒1/60秒)にしか呼び出されておらず、3.166...フレームに一回音を鳴らすのであれば、 それを処理できるような回数calc関数を呼ぶ必要があるはずです。 他の方法としては、calc()が呼ばれる回数を増やすことでしょう。 とおっしゃられておられましたが、この方法...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: makescreenの透過
返信数: 6
閲覧数: 4392

Re: makescreenの透過

オフトピック
ISLe さんが書きました:MakeScreenで作成したアルファチャンネル付きグラフィックに対して、アルファチャンネルのみを対象とした操作はできないようですが、透明にしたい部分に対してSetDrawBlendMode関数のDX_BLENDMODE_SUBを指定しておいて描画することでアルファ値を削ることができます。
僕の意味の取り違いが怖いのですが、とりあえず参考までにこちらのリンクを貼っておきます…。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: オブジェクト指向での静的な変数
返信数: 6
閲覧数: 3959

Re: オブジェクト指向での静的な変数

静的変数を宣言する場所にも良し悪しがあるのですね。
なるほど、参考になりました。ありがとうございました。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: オブジェクト指向での静的な変数
返信数: 6
閲覧数: 3959

Re: オブジェクト指向での静的な変数

皆さん返信ありがとうございます。

まとめて返信するような形で申し訳ないのですが、クラスのインスタンスを越えて同じ値を使いたいときは
static変数を、クラスのインスタンスを再生成した際に初期化したい場合はメンバ変数を使う。
というような認識で大丈夫でしょうか?

恥ずかしながらこのような静的変数がインスタンスをも越えることは理解していませんでした。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: オブジェクト指向での静的な変数
返信数: 6
閲覧数: 3959

オブジェクト指向での静的な変数

オブジェクト指向において、あるクラスのメンバ関数の中に静的なローカル変数を定義することは、
構造上有効なのでしょうか?
その変数には、スコープを抜ける際に消されたくないデータが入っていて、
1ループごとに1回そのメンバ関数が呼び出されることとします。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: ChangeWindowModeについて
返信数: 7
閲覧数: 3793

Re: ChangeWindowModeについて

使用したソースを教えていただけないでしょうか?原因がわかるかもしれません。

念のため、ChangeWindowMode関数は引数TRUEでウィンドウモード、FALSEで全画面となります。
by spaaaark・∀・
10年前
フォーラム: 作品お披露目掲示板
トピック: 玉が転がるアプリ「Win32Balls」
返信数: 20
閲覧数: 22024

Re: 玉が転がるアプリ「Win32Balls」

( ˘⊖˘) 。o( 球って垂直に積んで詰めちゃえるもんなのだな… )

(一定数越えると崩れるようです)
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 2次元配列でFという文字を表示させたいのですが
返信数: 4
閲覧数: 2999

Re: 2次元配列でFという文字を表示させたいのですが

コードタグには[]を忘れないようにお願いします。 さて、この問題ですが、ary_bは使用することなく実装することができます。 ヒントは2重for文を使って、各要素を1文字ずつ書き出すという事です。 二次元配列なので、1つ目のfor文で1番目の、2つ目のfor文で2番目の配列の要素を指定して書き出せばうまくいくはずです。 気を付けないといけないのは改行のタイミングです。ヒントは1列書き終わった後に改行する、という事です。 僕はあえて答えを述べないこととします。もし解決したらそのソースコードを解決時に記述していただけると幸いです。 分からないことがあれば続けてここで質問していただいてもいいですよ。...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: プログラム改良
返信数: 5
閲覧数: 3073

Re: プログラム改良

それなら普通に、

コード:

std::vector<int> sel_num(3);

sel_num[ /*最初*/ ] = 0;  
sel_num[ /*最後*/ ] = (int)n; // 要素の最大数をnに格納してることを想定します…なぜキャストしてるか分かりませんが。
sel_num[/*真ん中*/] = sel_num[/*最後*/] / 2;

でいいと思うのですが…。
真ん中の数があいまいなので、とりあえず要素の半分の値を入れることにしました。
オフトピック
ところで、3個と決まっている(?)配列の要素数にvectorを使うのはなぜでしょう?
あとから拡張するのならいいのですが…。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 本当にtry-catchで処理すべき問題??
返信数: 7
閲覧数: 4637

Re: 本当にtry-catchで処理すべき問題??

beatleさん、YuOさん、tk-xleaderさん、議論の方をありがとうございます。 ひとまず、手に持っているソースコードは例外を排出しないように変更しました。もちろんコードの可読性は40%くらい下がりました。 分析クラス内で一回一回EOFかどうか判断すると、まったく同じコードを何回も書かないといけない事態に陥ってしまいますよね。 その部分が気に入らない点があるのですが…、そこは関数化することで目をつむろうかなとも思っています。 とりあえず、今まであったEOF検出用の例外判定クラスを不正なEOFを検出する例外クラスに切り替えて作業を進めています。 なんだか返信を見ていますと、こういう問題は...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 本当にtry-catchで処理すべき問題??
返信数: 7
閲覧数: 4637

本当にtry-catchで処理すべき問題??

//データを受理する呼び出し元のコード Read hoge; hoge.Process(/*データ*/); //Read::Process関数の中身 void Read::Process(/*データ*/){ try{ /*処理*/ // ここでたくさんの読み込み関数を実行しており、読み込み関数内でEOFに到達すると例外クラスErrEOFをthrowする } catch(ErrEOF &) { /*読み込み完了のLog書き出し*/ } } というCSVファイル読み込みの方法を扱っているのですが、エラー処理となる例外機構でEOF検出ってしてもよいものなのでしょうか? 確かにこのコードはいちいちE...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: vectorの固定長配列型でのエラー
返信数: 2
閲覧数: 3148

Re: vectorの固定長配列型でのエラー

std::arrayって初めて聞きました…が、普通の配列と同じように扱えるようにはなってるのですね。
おかげでコンパイルが通るようになりました。ありがとうございました。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: vectorの固定長配列型でのエラー
返信数: 2
閲覧数: 3148

vectorの固定長配列型でのエラー

const int Val = 43; // 実際には適当な値 vector<int[Val]> hoge; int huga[Val]; /*fugaの初期化処理*/ hoge.push_back(fuga); としたときに、下記のようなリファレンスでのコンパイルエラーが発生してしまいます。 c:\program files (x86)\microsoft visual studio 10.0\vc\include\xmemory(208): error C2075: 'Target of operator new()' : 配列の初期化には中かっこ ({}) が必要です。 1> c:\p...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++ファイル入出力について
返信数: 5
閲覧数: 2626

Re: C++ファイル入出力について

#include <iostream> using namespace std; などが記述されてないのはわざとでしょうか…? それと細かいことかつ関係のない場所なんですが、fstreamヘッダーの関数を使いたい場合、 #include <fstream.h> // 旧 #include <fstream> // 新 のように、.hをつけない形で記述するようにしてください。#include <iostream.h>と記述しないのと同じです。 これらの書き方(コードの新の書き方)で、標準C++ライブラリにアクセスすることができます。 fstream.hは古いライブラリを参照してしまう場合があり...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体のlistでの条件比較
返信数: 13
閲覧数: 5495

Re: 構造体のlistでの条件比較

あ…、型指定子だったんですね、失礼しました。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体のlistでの条件比較
返信数: 13
閲覧数: 5495

Re: 構造体のlistでの条件比較

リンクありがとうございます!
戻り値から推測するのじゃなくて、省略されたdecltype関数の引数に戻り値と同じものがパラメータとして渡されてたんですね!

1つ目のコードと解説で理解できました!ありがとうございました><
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体のlistでの条件比較
返信数: 13
閲覧数: 5495

Re: 構造体のlistでの条件比較

うお、なんでかよく分からないけど連番で引数が渡されてる。すごい。 http://ideone.com/Yykdmo

autoは戻り値から推測してコンパイル時に型を決める…という考えでいいのでしょうか?
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体のlistでの条件比較
返信数: 13
閲覧数: 5495

Re: 構造体のlistでの条件比較

推論しているということは…実際に使うときに型を決める…という事ですか?

後半のは0,1,2,3...とあったときに、片方に0,1,2...と入ると、もう片方にほんとに
1,2,3...と比較する次の要素が参照渡しされるのか、という疑問です。
それとも何か勘違いしているのでしょうか…?
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体のlistでの条件比較
返信数: 13
閲覧数: 5495

Re: 構造体のlistでの条件比較

なんとなくやりたいことはわかりました。まずソートする前提条件を忘れてました。
それで、関数を条件として引数を渡すということですね。
autoキーワードは作ったときに自動的にboolに置き換えられられる・・・ということでいいですね。
このstring型のメンバ変数でソートする方法は自分で調べてみようと思います。

ただ気がかりなのは、このラムダ関数の引数でホントに隣同士の値を比較できるのでしょうか?
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体のlistでの条件比較
返信数: 13
閲覧数: 5495

Re: 構造体のlistでの条件比較

h2so5 さんが書きました:

コード:

Hoge.unique([](const A& a, const A& b){
    return a.m_Name == b.m_Name;
});
引数の中で関数のような比較をするのですか?あと、この[]はlistでオーバーロードされているのでしょうか…。
僕自身見たことのない文法なので引数の中で何をしているか教えてくださると助かります…。すいません。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体のlistでの条件比較
返信数: 13
閲覧数: 5495

構造体のlistでの条件比較

コード:

class A{
  int m_a;
  int m_b;
  std::string m_Name;
};
というクラスをリストで管理する時を考えます。

コード:

std::list<A> Hoge;
/*処理省略*/
Hoge.unique(/*引数*/); // A.m_Nameが同じものを削除
A.m_Nameが同じものを削除しようと思った時に、/*引数*/はどのように与えるといいのでしょうか?
いろんな参考サイトを回りましたが、いまいち理解できないのでこちらで質問させていただきます。よろしくお願いいたします。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: DxLib 実行すると応答しなくなる
返信数: 3
閲覧数: 3682

Re: DxLib 実行すると応答しなくなる

DXLibで画面が固まるという事は、どこかで無限ループしているか、何らかの原因でProcessMesseage関数が実行されなくなるという事が考えられます。
10秒経過してから処理を変更するようなことをしていれば、その処理部に原因があると思われます。本文に書いてないので何とも言えないのですが…。
今一度、経過するすべてのループで無限ループしてないか、また1ループに1度以上ProcessMesseage関数を呼び出しているか確認してみてください。
なお、PDBファイルや、アンロードについては別に気にしなくても大丈夫だと思われます。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の「参照」に関する理解
返信数: 6
閲覧数: 3037

Re: C言語の「参照」に関する理解

僕も一度参照の意義が分からなかったことがあったのですが、その時に、 「参照を作ると要素が空であることがなくなるため、指し示しているオブジェクトが存在するかどうかの確認をしなくてよく、 また初期化されていないポインタの値を使用することがなくなるので、参照渡しはポインタ渡しより安全な方法である。」 という話を聞いて納得した覚えがあります。 逆に言えば参照渡しではNULLを表現できないため、NULLをとることのあるオブジェクトの引数はポインタ渡しでないと いけないことは確かなことですが、それがない限りは参照渡しを行ったほうがバグが減ると私は思います。 アロー演算子->を使わなくて済むという教科書の表...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: ostringstream -> char*への変換
返信数: 1
閲覧数: 2769

Re: ostringstream -> char*への変換

すいません、自己解決しました。

ostringstreamのメンバ変数にstrメンバというのがありまして、string型に変換できたようです。
そこから、string型のc_strメンバ変数を使ってchar*を抽出できました。お騒がせしました。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: ostringstream -> char*への変換
返信数: 1
閲覧数: 2769

ostringstream -> char*への変換

cppファイル: #include "/*ヘッダーファイル*/" #include "DxLib.h" #include <sstream> bool CGameTaskGraphInport::SetData(int p_FileNum){ std::ostringstream Name; Name<<p_FileNum<<".png"; //sprintf(FileName,"%d.png",p_FileNum)と同意味 int InportHr = LoadGraph(/*Nameと同じ文字列*/); if(InportHr == -1) return false; m_GraphNum...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: DXライブラリ
返信数: 3
閲覧数: 2114

Re: DXライブラリ

VC++2010とVS2012では構成方法が違うので、DxLib様の こちらのページ を紹介します。 書いてある内容は対応方法が違うだけで、中身は全く同じであるので、こちらのページを参考にセットアップを行ってみてください。 セットアップ自体はページの指示に従うだけで完了します。 なお、 紹介してくださったサイト はVisual C++ 2010用のセットアップが完了したプロジェクトを配布しています。 そのセットアップ方法も、恐らくDxLib様の セットアップページ (VC++2010用の物ですが)を参考に作られたものだと思われます。 それでもうまくいかないようでしたら、実際のエラーコードを記述...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 龍神録の二面
返信数: 7
閲覧数: 4320

Re: 龍神録の二面

自身のほうでデバッグは試されましたでしょうか。 実際に実行時の変数の状態を見てあげると、思わぬバグを引き起こしている部分が見つかりやすいです。 今回はその怪しい部分がある程度絞られているようなので、その部分に的を絞ってやってみるといいと思います。 そうすることによって、私たちが推測するよりはるかに正しい答えが得られると思います。 (すでにされておられるようでしたら申し訳ないです。) ここからは余談ですけど、例えば、 if(SetDrawScreen( DX_SCREEN_BACK )!=0) return -1; //// 1. while(ProcessLoop()==0){ /*処理*/ ...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の引数に型名を指定
返信数: 2
閲覧数: 3873

Re: 関数の引数に型名を指定

>>softya様
ご返信ありがとうございます。

テンプレートについていろいろ調べてみたところ、

コード:

template <typename T> T Func(){
    return /*指定した型の値*/
};
int main(){
    int A = Func<int>();    //// int型
    double B = Func<double>();    //// double型
    return 0;
}
という記述方法で何とかできそうです。
ご協力ありがとうございました。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 関数の引数に型名を指定
返信数: 2
閲覧数: 3873

関数の引数に型名を指定

こんにちは、知っている方は知っていると思います、spaaaark・∀・と申します。 今回、関数の引数に、intやdoubleなどの型名を使用する方法がわからず、こちらのほうに質問させていただきました。 言語はC++です。 内容ですが、引数に指定した型と同じ型の数値を返す関数を作りたいのです。 そこで、sizeof演算子のような引数に型名を指定する関数を作りたいと思ったのですが、これはどのようにやるのでしょうか。 恐らく、テンプレートの応用だと思うのですが、その方法がわかりません。 次に示す例ですが、Func関数の中で、あるテキストファイルから数値を読み取っていると想定してください。 int A...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: VC++の環境設定
返信数: 11
閲覧数: 6315

Re: VC++の環境設定

すいません、データベースの再構築を実行すると修復しました。
自己解決です。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: VC++の環境設定
返信数: 11
閲覧数: 6315

Re: VC++の環境設定

ISLe さんが書きました:フォールバック位置の設定は、オプションの『テキストエディター』→『C/C++』→『詳細』の中にあります。
返信ありがとうございます。
実際にフォールバック位置をRAMディスク直下のパス(R:\)に指定したのですが、その後からテキスト画面上側のスコープ表示が常に(不明なスコープ)となり、インテリセンスが全く動作しなくなりました。もしかして、管理データがすべて飛んでしまったか、すごく気になるのですが、どのようにすればインテリセンスが表示するように復旧できるのか、どなたかご教授願います。

申し訳ありませんがよろしくお願いします。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 武器のカスタマイズの選択画面について
返信数: 5
閲覧数: 3445

Re: 武器のカスタマイズの選択画面について

例えば、武器Aなら0,武器Bなら1,武器Cなら2,... というように、武器の種類にあらかじめ0から番号を振ったものをハンドルとして、そのハンドルを使って条件の分岐を行います。なおハンドルにはもちろんint型(またはshort型)を推奨します。 そのハンドルを使って、たとえば以下のように処理を分けてやればいいのです。 void WeaponA(){ //// ハンドル0番 //// 武器Aのインスタンスを生成 } void WeaponB(){ //// ハンドル1番 //// 武器Bのインスタンスを生成 } void WeaponC(){ //// ハンドル2番 //// 武器Cのインスタン...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 武器のカスタマイズの選択画面について
返信数: 5
閲覧数: 3445

Re: 武器のカスタマイズの選択画面について

どうでしょう、比較するものがstring型である必要がないようには思います。

僕の場合なら、名前を比較するより、それぞれの武器にハンドル(0,1,2,...)を打ち、決定した際にそのハンドルに対応した武器のインスタンスを生成すると思います。そうすることにより、
LisetteLander さんが書きました:

コード:

if(SelectWeaponStr == "CHandGun"){
 new CHandGun();
}
のようなif構文のネストで比較する必要がなくなり、さらに状況によっては関数ポインタを利用してインスタンスを生成をすることが可能になると思います。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: VC++の環境設定
返信数: 11
閲覧数: 6315

Re: VC++の環境設定

古いところからのトピックに返信して大変申し訳ないのですが、 私は行番号で場所を把握しているタイプなので行番号を使用しています。 またプログラムが膨らみコード量が多くなるとインテリセンスの負荷が高くなり重くなるので、 インテリセンスに使われるデータベースの保存先(フォールバック位置)をRAMディスクにしています。 (私のPC環境になりますが、現在製作しているゲームで、  経験上5000行くらい×100以上のソースファイルで、  コーディングどころでは無いくらい重くなったのでこれを使用しています) 私事の視点になりますが参考にしてください。 このインテリセンスのフォールバック位置の指定方法を教えて...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: コントロールボックスについて
返信数: 21
閲覧数: 5551

Re: コントロールボックスについて

横入り失礼しますorz

DxLibにはリファレンスに載っている関数以外にも大量の関数が用意されています。
DxLibの場合、これらの関数はDxLib.hファイルからこれらの関数、#defineマクロを直接確認することが可能です。
各関数にはコメントが割り振られていますので、検索機能で目的を検索し、関数を探すことも可能だったりします。

さて、そのDxLib.hですが、VC++の場合であればライブラリの関数上でF12を押していただければ、すぐ出てきますよ。
今まで知らなかった機能もあると思うので、ぜひ一度ご覧になってみてはどうでしょうか。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: アクションゲーム
返信数: 9
閲覧数: 3754

Re: アクションゲーム

実はそんなに長い画像を使用していないことが現実です。 ヒントは、一定座標より大きくなったときに背景の描画場所を元に戻す、使いまわし、ということです。 5000*480の大きさの画像は、保存できないことはないですけど、実行時のメモリにも負荷がかかってしまいます。 それなら、短めの画像(といっても横が2000程度になる事は回避できませんが…)を繰り返し使いステージを延々と長く見せるほうがいいです。 背景にする画像の、一番最初と最後を同じにすれば、きれいにループすると思います。 あと、その画像を製作するならWindows付属のペイントではなくて、フリーソフトでもいいのでペイントツールをダウンロードす...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: n個の素数を求めるプログラムについて
返信数: 6
閲覧数: 4474

Re: n個の素数を求めるプログラムについて

ソースを実行してみましたが、いくつかのコンパイルエラーを吐きました。 コンパイルエラーの際はエラーログを付属していただき、その旨を伝えていただけるとうれしいです。 さて、このプログラムにはいくつか問題点があります。 1.malloc関数等を使用しているのに、stdlib.hをincludeしていない。 malloc関数は標準ライブラリのstdlib.hに定義されています。これを読み込まないとこれらの関数は使用することができません。 2.sqrtn変数を多重に宣言している。 同じ型ではありますが、宣言でsqrtn変数が2回宣言されていました。 もしこの2つの使用用途が異なるなら、1つを別の変数名...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: 自分で関数を作る
返信数: 3
閲覧数: 1722

Re: 自分で関数を作る

temp変数は、その関数内で作られたもの、test変数は、関数calcに引数として渡した値となります。 このとき、test変数のような引数として受け取った値を代入する変数を仮引数と言います。 number=calc(10); こう記述した際は、引数として渡される値は10で、その数値はcalc関数の中のtest変数に代入されます。 この場合、temp=test*5の、testには10が代入されているので、tempの値は10*5=50、となります。 そして、最後に戻り値としてtemp変数の中身を返しています。ここでは、その値をmain関数のnumber変数で受け取っています。 また、例えば、 in...
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: タイトル画面
返信数: 11
閲覧数: 4575

Re: タイトル画面

softya(ソフト屋) さんが書きました:あっとDXライブラリを利用した場合、
static int handle = LoadGraph("ファイル名");
はDxlib_Initに対しての順番が制御出来ないのでマズイことになると思います。
そうだったのですか。その点は配慮していませんでした。申し訳ないです。
by spaaaark・∀・
10年前
フォーラム: C言語何でも質問掲示板
トピック: タイトル画面
返信数: 11
閲覧数: 4575

Re: タイトル画面

ソースを実行してみましたが、ループで画面が固まってしまい出力されませんでした。 と同時に、画面右上の×ボタンを押しても終了出来なくなってしまっていたかと思われます。 それではなぜ関数化する前がちゃんと動いていたのか、少し不思議ですが、そこはおいておくことにします。 恐らく、関数化すると同時にゲームループも作ったのだと思うのですが…。 さて、DxLibではゲームループを作る際に、ProcessMessage関数を1ループごとに呼び出してあげる必要があります。 その関数については、DxLib様のホームページにある関数リファレンスのトップページの下側に記述されています。 その関数は、ソフトの状態をチ...

詳細検索ページへ移動する