検索結果 239 件

by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式の戻り値と引数の型を調べたい
返信数: 13
閲覧数: 4301

Re: ラムダ式の戻り値と引数の型を調べたい

単に第三者がこのトピックを見た時に誤解の元となる表現をされていると思ったので補足を述べたまでです。
せっかく誰でも読めるのですから。
質問者さんへの指摘という意味はあまりないので、気にしないでください。
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: ラムダ式の戻り値と引数の型を調べたい
返信数: 13
閲覧数: 4301

Re: ラムダ式の戻り値と引数の型を調べたい

decltype([]{})は仕様で禁止されています。コンパイルエラーです。
示されたリンク先のように、
auto f = []{};
decltype(f);
と変数にする必要があります。ラムダ式はdecltype式では書けません。
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: アセンブラを学習したいのですが・・
返信数: 7
閲覧数: 2760

Re: アセンブラを学習したいのですが・・

アセンブラから学べっていうのはおそらく、Cすら満足にできないならアセンブラは書けないからでしょう。 アセンブラを勉強するなら、まず学ぶアーキテクチャを決めて、互換性のないアセンブラを勉強する事になります。そうなると、メモリの扱い方などと同時に学ぶ事が増えて、初心者には難易度が高くなります。 Cで環境などに依存しない状態でメモリ操作などを学んだ上で、環境依存の内容に踏み込む方が難易度が低いと私は思います。 どの程度までとは言いますが、「一通り」でしょうか。アセンブラ目的なら標準ライブラリなどの勉強は不要ですから、ライブラリなどを使わないような内容の仕様を渡されたら、自力でそれを書ける、というよう...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: ビジュアルスタジオ2010のバグ?
返信数: 7
閲覧数: 1998

Re: ビジュアルスタジオ2010のバグ?

>ウインドウスタイルをウインドウモード用に変更します... 完了 これはDXライブラリの出力で、VisualStudioのウィンドウを変更する旨のメッセージではありません。無関係です。 >まあ、レスがつかないことを考えると boxさんも返信しているし、たいちうさんが答えを書いているではありませんか。無視する前にちゃんと読むべきだと思います。 VisualStudio2013を使っていますが、2010でも動作は同じだったはずです。 VisualStudioのウィンドウレイアウトやツールバーに表示されるアイコンは状況に応じて変化します。ソースコードを編集している初期の状態と、デバッグ時のレイアウト...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: coutがあいまい?
返信数: 2
閲覧数: 8601

Re: coutがあいまい?

IDEを再起動してみてください。

なお、IntelliSenseという機能がエディタ上にそれらを表示するのですが、しばしばコンパイラの結果と違ったりします。
コンパイルが通るのにIntelliSenseはエラーを出していることは結構あるので、あまり気にしなくてもいいと思います。
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: A=B=C=D=100; のような書き方はどうでしょうか
返信数: 6
閲覧数: 1614

Re: A=B=C=D=100; のような書き方はどうでしょうか

みどり さんが書きました:これからはアセンブラ言語を勉強して、さらに研究していこうと思います。
…どうしてそうなったんでしょう…?

別にアセンブラがやりたいならやめろとは言いませんけど、もしも、アセンブラを自分で書けば速くなると思っているのなら、大間違いです。
気をつけてください。
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: [c#]メモリリーク?
返信数: 4
閲覧数: 1141

Re: [c#]メモリリーク?

まず「メモリリーク」という言葉の意味を調べて下さい。
そして画像を作ればメモリの使用量が増えるのは不思議なことでしょうか。
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: A=B=C=D=100; のような書き方はどうでしょうか
返信数: 6
閲覧数: 1614

Re: A=B=C=D=100; のような書き方はどうでしょうか

D = 100; C = D; B = C; A = B; です。 一つは頻繁にメモリをアクセスして遅い、 何を以って遅いといえるのでしょうか。実測したのでしょうか。 もし int A, B, C, D; だった場合、数値リテラルを代入するのであれば、 A=100; B=100; C=100; D=100; とした場合より 遅いことはまず無いと思います。 ちょっと書き方を変えます。確かに、単純な命令数では多くなることも多いかもしれません。 しかし、レジスタアクセスや1クロックで済む命令などは、昨今では本当に誤差のレベルです。他の要因によってあっさりと逆転してしまうようなほどの軽微なものです。 ...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: テンプレートの記述で分からないことがあります。
返信数: 3
閲覧数: 637

Re: テンプレートの記述で分からないことがあります。

一応言っておきますが、かなり上級者の、こういうライブラリ実装者向けのテクニックです。
真似をするなど、迂闊に手を出したりはしない事をお勧めします。typenameを知らない段階で扱えるものではありませんので。
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: テンプレートの記述で分からないことがあります。
返信数: 3
閲覧数: 637

Re: テンプレートの記述で分からないことがあります。

typenameは後続の識別子が型名である事を指定します。 テンプレート型Tがあるとき、T::typeと書くと、typeが型名なのかはコンパイラはその時点では判断できません。型名であることを明示するためにtypenameを書きます。 class = typename となっているのは、単にテンプレート引数名を省略しています。class T = 〜のTを省いた形です。 このテンプレート引数は実際に指定して使用する目的ではなく、SFINAEによってコンストラクタ呼び出しを解決するためのダミーのテンプレート引数です。 _is_iteratorは、MSVC内部実装なので憶測になりますが、おそらく引数の...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: C++で意図しないコンストラクタが呼ばれるのを何とかしたいです
返信数: 4
閲覧数: 772

Re: C++で意図しないコンストラクタが呼ばれるのを何とかしたいです

おっと、返信が遅れてすいません。忘れてました。 third({1,2,3})と書いた場合、コピーコンストラクタが呼ばれます。 コンパイラはおそらくthird(Clist{1,2,3})のように推論しているからです。 なぜ{ 1, 2, 3 }がClistに変換できると判断されるかというと、おそらく3番目のコンストラクタと一致すると判断されているのでしょう。1はboolに、2はsize_typeに、3は_Tyに暗黙変換されています。 これらの回避策は複数考えられますが、根本的にClistの暗黙変換を禁止するのが手っ取り早いと思います。 explicit Clist(bool loop, size...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: C++で意図しないコンストラクタが呼ばれるのを何とかしたいです
返信数: 4
閲覧数: 772

Re: C++で意図しないコンストラクタが呼ばれるのを何とかしたいです

{ 1, 2, 3 }が_Mytに暗黙変換可能なのでしょう。_Mytの型がわからないのでそれしか言えません。
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]メンバ関数ポインタの取り扱い方
返信数: 9
閲覧数: 2456

Re: [C++]メンバ関数ポインタの取り扱い方

これは失礼しました; ただ手元のVS Express2013だとerror C2536がでてコンパイルできないんですよね…。 おや…?VisualStudio 14と間違えたかな、と思って確認しましたが、やはりちゃんとコンパイルできますね。 https://msdn.microsoft.com/ja-jp/library/hh567368.aspx 対応表にも○がついてます。 ちゃんとアップデートを適用していないか、或いはExpressでは対応していないのですかね(そんなことはないと思うんですが…)。 Microsoft Visual Studio Professional 2013 Ver...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: [C++]メンバ関数ポインタの取り扱い方
返信数: 9
閲覧数: 2456

Re: [C++]メンバ関数ポインタの取り扱い方

milfeulle さんが書きました:(1) クラス内で直接初期化はできない(ポインタとか関係ないです)

コード:

struct S {
	int a[4] = { 1, 2, 3, 4 }; // error
};
今どきのナウでヤングなコンパイラだと、C++03オプションでコンパイルしても警告が出る程度でコンパイルできちゃうっていうね。
visual studio 2013なら対応しているはずです。

オフトピック
ところで、最初のコードの16行目に全角綴じ括弧があるのは誰も触れないのだろうか?
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: 「現在の時刻」を取得
返信数: 9
閲覧数: 1444

Re: 「現在の時刻」を取得

中置記法の&はビット積演算子です。オーバーロードされていなければ、ビット単位での積を取った値が返ります。 例えば、10進法での1と、10進法での2のビット積を取ると、10進法で0になります。 1は2進法で01 2は2進法で10 ビット単位で積を取ると、 右から順に、 1x0=0 0x1=0 よって結果は、00になります。 2進法での00は、10進法に直すと0です。 私はDXライブラリに詳しくないので、GetNowCountの結果とINT_MAXのビット積を取る目的はわかりません。 GetNowCountの結果がマイナスである可能性があるのかもしれません。 もし結果がプラスであれば、INT_MA...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数の個数を限定する
返信数: 12
閲覧数: 1917

Re: 乱数の個数を限定する

私のコードについて補足します。 参考: https://sites.google.com/site/cpprefjp/reference/random std::random_deviceは、完全な乱数生成エンジンです。ハードウェアのノイズやマウスの動き、CPU温度など、予測不可能な値から乱数を生成するため(実装は処理系定義)、生成される値も予測不可能である完全な乱数です。(ただし、処理系によっては実装の制限により擬似乱数になる可能性はある) ただしコストが高いので、頻繁に呼び出したりするものではなく、擬似乱数エンジンのシードに使用する事が多いようです。私のコードでもそのように使っています。 ...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数の個数を限定する
返信数: 12
閲覧数: 1917

Re: 乱数の個数を限定する

もし個数を限定しないで、だいたいの比で良ければ、以下のようにできます。 #include <random> #include <array> #include <iostream> #include <algorithm> int main() { std::random_device seed; std::mt19937 engine(seed()); // 確率列を定義 std::array<double, 2> probabilities = { 0.75,0.25 }; // 分布オブジェクトを生成 std::discrete_distribution<std::size_t> dis...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: 乱数の個数を限定する
返信数: 12
閲覧数: 1917

Re: 乱数の個数を限定する

std::randには問題点が多く、現在の規格で非推奨となっており、将来的に削除されます。C++11で追加された<random>ヘッダをインクルードし、擬似乱数エンジンを使いましょう。 std::random_shuffleも、std::randに依存する場合があり、std::randと同様に非推奨となります。おそらくこのまま議論が進めば、std::randよりも早くC++1z辺りには削除されます。std::shuffleを使いましょう。 std::fill_nで0が15個、1が5個でstd::arrayを埋めています。これに関してはもっと賢い方法があるかも? #include <algori...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: 質問です
返信数: 1
閲覧数: 543

Re: 質問です

パス名に個人情報が入っている気がしますが、大丈夫ですか。

指定されたファイルが見つからないというエラーには見えません。本当にその時のエラーですか?
貼り付けられたエラーの内容は、WinMain関数の定義が存在しない故のエラーです。
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: スコープの階層化について
返信数: 13
閲覧数: 1703

Re: スコープの階層化について

再帰関数そのものをローカルにしてしまえば簡単。 再帰関数をメンバ関数にする必要はなかったので、しっくりくる感じがします。 ただ、無名関数の再帰は初めてなので不安です。関数内で名前付きの関数が宣言できればいいのですが。 無名関数…まあ、無名関数ではありますが、関数オブジェクトとして変数に保存しているので、識別子recをつけていますから、使う分には同じことです。 みけCATさんがクラス内クラスを作っていますが、実は発想は同じものです。関数内で関数は定義できませんが、関数内でローカルクラスを定義して、関数呼び出し演算子をオーバーロードすれば(つまり関数オブジェクトを作れば)同じことができます。 #...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: スコープの階層化について
返信数: 13
閲覧数: 1703

Re: スコープの階層化について

そもそもの話、質問内容の状況があまり考えられないのですが。大抵の場合はその部分を別の部品としてクラス外に吐き出せるのではないでしょうか。
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: スコープの階層化について
返信数: 13
閲覧数: 1703

Re: スコープの階層化について

スコープを階層化という表現は聞いたことがありませんが。 #include <functional> #include <iostream> struct A{ int hoge(){ int foo = 0; // コイツを使いたいのかい? std::function<int()> rec; rec = [&rec,&foo](){ return foo <= 10 ? foo++ + rec() : 0; // fooが参照で使えるね!やったね! }; return rec(); } }; int main(){ A a; std::cout << a.hoge() << std::endl...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: 未定義エラーについて
返信数: 3
閲覧数: 1087

Re: 未定義エラーについて

後から見る人のために、解決したら解決マークにチェックを入れて送信するように、ご協力お願いします。
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: argcで出力ストリームを切り替え
返信数: 8
閲覧数: 1297

Re: argcで出力ストリームを切り替え

h2so5 さんが書きました:nullptrさん
そのコードだとargcをチェックする前にargv[1]にアクセスしてしまいます。
OH
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: argcで出力ストリームを切り替え
返信数: 8
閲覧数: 1297

Re: argcで出力ストリームを切り替え

doitの引数は i streamの参照になっているのでistreamであるcinが正しく渡せてコンパイルできます。 参照の初期化式の三項演算子の後者二項のvalue categoryを一致させる必要があるようです。規格の該当部分がちょっとわからないので正しい引用ができないのですが、直感的で妥当な仕様であると思います。 故にisは if streamではなく i streamの参照にし、ifstreamをlvalueにすることでコンパイルできるはずです。 ifstream f(argv[1], ios::in); istream& is = ( argc == 2 ) ? f : cin; i...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: argcで出力ストリームを切り替え
返信数: 8
閲覧数: 1297

Re: argcで出力ストリームを切り替え

難しい内容ですがh2so5さんに少し補足をします。 non-const lvalue referenceが束縛できるのはlvalueのみです。故に初期化式はlvalueでなければなりません。 ただし、const lvalue referenceの場合は、初期化式の束縛したオブジェクトの寿命が延長されます。const lvalue referenceはlvalueもprvalueもxvalueも束縛できます。 std::ifstream& s = std::move(std::ifstream("", std::ios::in)); // error const std::ifstream& s...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: あるクラス内で立ったフラグを他クラスに反映させる方法
返信数: 6
閲覧数: 1414

Re: あるクラス内で立ったフラグを他クラスに反映させる方法

#include <vector> #include <functional> #include <algorithm> #include <iostream> int main(){ std::vector<std::function<void()>> callbacks; callbacks.push_back([]{ std::cout << "UHOHOHOHO" << std::endl; }); callbacks.push_back([]{ std::cout << "YPAAAAAAAAAAAAAAAAA" << std::endl; }); // なんかフラグたったぞい!!...
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: 3D空間のビルボード描画について
返信数: 3
閲覧数: 1140

Re: 3D空間のビルボード描画について

環境が書かれていませんが、DXライブラリでしょうか。
DXライブラリの仕様は知りませんが、ビルボードはZバッファの対象にされていないんですかね。Zバッファを有効にして描画していますか?
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: CodeRecorder VCモニター募集のお知らせ
返信数: 11
閲覧数: 3200

Re: CodeRecorder VCモニター募集のお知らせ

◆対象言語
・Microsoft Visual C++
そんな言語は聞いたことがない☆

まあそれはともかく、モニタ参加のメリットが全くないんですよね。
VisualStudioには標準でこういう機能があるわけで、さほど魅力的でもない。
ていうか2013に対応していない。報酬金があるわけでもない。

モニタを募集するなら、なんかメリットを提供すべきではないんですかね。
参加したら製品のライセンスを無料提供とか。

メリットもないのに、このクソ忙しい時期にモニタ参加したいと思う人なんか居ないと思いますが。
参加者を釣るなら餌がないと。それとも我々は暇人だと思われているのか :)
by nullptr
4年前
フォーラム: C言語何でも質問掲示板
トピック: Twicppsを利用したTwitterのデータの取得
返信数: 15
閲覧数: 2686

Re: Twicppsを利用したTwitterのデータの取得

C++でTwitter APIを使ってツイート送信、TL取得(RESTとユーザーストリーム両対応)、検索などを行うライブラリを作った事があります。現在でもメンテナンスしているので今でも動きます。 生憎、一般公開するつもりはないのですが、率直な感想だけ載せましょう。 難しいというわけではないですが、一朝一夕で一から作るのは相当大変ですよ。 特定のライブラリを使わないのであれば、 ・ソケット等ネットワーク通信プロトコルの実装(特に、TLSプロトコルの実装が必須 脆弱性の問題でSSLは使用できない) ・HTTP1.1プロトコルの実装 ・JSONプロトコル、パーサの実装 ・OAuth1.1またはOAu...

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