タグ

2015年1月22日のブックマーク (18件)

  • 各言語におけるtrue/falseまとめ - 昼メシ物語

    たとえば PHP で、 if ($hoge) { ... } とか書いてあったら、 $hoge がどんな値のときに if の中身が実行されるのか即答できますか。 こういう書き方は多くの言語で可能ですが、言語によって何が真で何が偽になるのかが異なるので、それぞれまとめてみました。 C言語 C言語には bool 型が無い。 0 (int) だけが偽となり、それ以外はすべて真となる。 NULL 定数は stddef.h で以下のように ((void*)0) と定義されているため、偽値として使える。 意見が分かれそうなところですが、個人的にはNULLを偽値として使用するは好きじゃないです。 #ifndef __cplsuplus #define NULL ((void*)0) #else #define NULL __null #endif C++ C++になると bool 型が出てくる。C と同

    各言語におけるtrue/falseまとめ - 昼メシ物語
  • コールバック (情報工学) - Wikipedia

    この記事には複数の問題があります。改善やノートページでの議論にご協力ください。 出典がまったく示されていないか不十分です。内容に関する文献や情報源が必要です。(2024年2月) 脚注による出典や参考文献の参照が不十分です。脚注を追加してください。(2024年2月) 出典検索?: "コールバック" 情報工学 – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL 同期的なコールバック方式では、ある関数の引数として渡されたコールバック関数は、その関数内でのみ使われ、関数が終了した後は使われない。 非同期的なコールバック方式では、最初にコールバック関数を登録し、後で必要になったときに呼び出す。 コールバック(英: callback)とは、コンピュータプログラミングにおいて、あるサブルーチン(関数など)を呼び出す際に

    コールバック (情報工学) - Wikipedia
  • 【C言語/C++】関数ポインタと関数オブジェクトを使ってみる - めめんと

    関数ポインタを使う 関数ポインタはポインタの一種で文字通り関数のポインタの事で、関数を遠隔操作できるようになる文法です。たぶんほとんどの場合関数の引数として使うんじゃないかと思うのでそれだけ紹介します。 #include<stdio.h> int add(int a,int b){ return a+b; } int sub(int a,int b){ return a-b; } //関数ポインタを使っている int calc(int (*func)(int,int),int a,int b){ return func(a,b); } int main(void){ int x = 10; int y = -4; int ans1 = calc(add,x,y); //足し算をしている int ans2 = calc(sub,x,y); //引き算をしている printf("%d,%d\n

    【C言語/C++】関数ポインタと関数オブジェクトを使ってみる - めめんと
  • Effective STL

  • C++マニアック,オペレータのオーバーロード,operator overload,演算子のオーバーロード,演算子

    ()、関数呼び出し演算子、関数オブジェクト 演算子の表へ ページの先頭へ () は、関数呼び出しの演算子です。これをクラス定義の中でオーバーロードすると、クラスオブジェクトの後ろに () を付けて、関数呼び出しの形式で呼び出せるようになります。 まず、定義の仕方を見てみましょう。次の例では、整数の引数 iValue を取り、これを 2 倍にして返す演算子 () を定義しています。 class CManiac { public: int operator()(int iValue) { return 2 * iValue; } }; 次に、これを使う側の例を見てみましょう。 int main() { CManiac maniac; // クラスオブジェクト maniac を作成する。 int iValue = maniac(1); // 関数呼び出し演算子 () を maniac に適用する

  • C++構造体

    構造体って? C 言語で、いくつかの変数をひとまとまりにしたものを構造体といいます。例えば、下のように struct を使って定義します。 typedef struct Item { int code; /* 商品コード */ int name; /* 商品名 */ int price; /* 価格 */ } ITEM, *LPITEM ; 商品コードと商品名と価格を管理する場合、code, name, price の変数をそれそれ作るよりも商品( Item) でひとまとめすることでプログラムがわかりやすくなります。こういったまとまったデータをレコードともいいます。プログラムが小さいと大げさなように感じされますが、複雑になるにまし、struct のありがたみがわかります。 では C++ の構造体はというと、同じように使えます。C++ はCのソースコードをそのままコンパイルできるようになって

    dynamicsoar
    dynamicsoar 2015/01/22
    “struct のアクセス修飾子は public になっています。”
  • C++14 のラムダ式 完全解説 前編 - 野良C++erの雑記帳

    C++14 の Committee Draft が公開された. C++14 は基的には C++11 のマイナーバージョンアップであるが,バグフィックスのみを行っている訳ではなく, C++11 の時点で微妙に使いにくかった機能,特にラムダ式については,大きな機能追加が行われている. そこで, blog では,このエントリから数回に分けて, C++14 のラムダ式について説明してみることにする. 拙い文章になるかとは思うが,読者の理解の助けになれば幸いである. なお,これらの記事を書くにあたって,読者に対して C++11 のラムダ式に対する知識を要求しないように心がけたが, もしかしたら,説明不十分であり,分かりにくい部分があるかもしれない. そのような場合には, の虫: lambda 完全解説 等, C++11 のラムダについて書かれた記事は多いので, それらの記事を読んでみることを

    C++14 のラムダ式 完全解説 前編 - 野良C++erの雑記帳
  • C++の基礎 : const 修飾子

    BREW C++ ライブラリ & GUI フレームワーク & XML ミドルウェア / 携帯 Java アプリ圧縮ツール : 株式会社 ソフィア・クレイドル English FAQ C++の基礎 : const 修飾子 const 修飾子 C++ 言語には、定数を表現するための const 修飾子が用意されています。ここでは const 修飾子のさまざまな使い方について説明します。 const 修飾子を使う目的は、コンパイラによる最適化を促進するためと、プログラムの意味をより明確にすることです。 const 変数 変数の宣言に const をつけることで、その変数の値が書き換えられないようにできます。 const SIntN max_foods = 120; max_foods = 130; // コンパイル エラー const 引数 関数の引数に const を指定すると、その関数の中で

  • C++11スマートポインタ入門 - Qiita

    [2022-06-22] さすがに情報が古くなってきたため、最新の規格に合わせて記事の内容を再編集した記事を新たに書きました。よろしければ、こちらの新記事「C++20スマートポインタ入門」をご参照ください。 C++11では、unique_ptr<T> shared_ptr<T> weak_ptr<T>の3種のスマートポインタが新たに追加された。これらのスマートポインタは、いずれもメモリの動的確保の利用の際に生じる多くの危険性を低減する目的で使用されるが、それぞれ独自の考え方と機能を持っている。3種のスマートポインタを適切に使い分けることで、安全性と開発速度の向上が見込めるだけでなく、プログラマの意図に合わせて「ポインタ」を記述し分けることができる、非常に強力なツールとなる。 解説では、スマートポインタについて初めて学ぶ人を対象に、C++11で追加された3種のスマートポインタの機能と使い

    C++11スマートポインタ入門 - Qiita
  • C Sharp - Wikipedia

    C#(シーシャープ)は、マイクロソフトが開発した、汎用のマルチパラダイムプログラミング言語である。C#は、Javaに似た構文を持ち、C++に比べて扱いやすく、プログラムの記述量も少なくて済む。また、C#は、Windowsの.NET Framework上で動作することを前提として開発された言語であるが、2023年現在はクロスプラットフォームな.NETランタイム上で動作する。 デスクトップ・モバイルを含むアプリケーション開発や、ASP.NETをはじめとするWebサービスの開発フレームワーク、ゲームエンジンのUnityでの採用事例などもある。 マルチパラダイムをサポートする汎用高レベルプログラミング言語で、静的型付け、タイプセーフ、スコープ、命令型、宣言型、関数型、汎用型、オブジェクト指向(クラスベース)、コンポーネント指向のプログラミング分野を含んでいる。 共通言語基盤 (CLI) といった周

    C Sharp - Wikipedia
    dynamicsoar
    dynamicsoar 2015/01/22
    「改良点」のところだけ読むと非常に良さそうだな…
  • C++の記号一覧 (List of C++ symbols) - gununuの日記

    検索のしづらいC++の記号の意味をまとめてみました。C++11、C++14をはじめとして網羅的に集めたつもりです。 C言語についての記述もありますが、共通した記号であってもC++とCでは文法や動作の子細が異なる場合がありそのまま適用できないことがあります。また掲載してある記法は説明のために載せているのであってすべてが推奨できるわけではないことにご注意ください。用語や分類、解説はかなりいい加減です。 型[要素数]配列型(要素数は定数でなければならない。要素数を省略した型は不完全型)。 typedef int array[5]; //配列型int[5]にarrayという名前を付ける。 void f(int ptr[]); //関数の宣言に用いてvoid f(int* ptr);と同じ void f(int ptr[5]); //この場合要素数の記述は無意味で上記と同じ。 //動的配列の確保(ま

    C++の記号一覧 (List of C++ symbols) - gununuの日記
    dynamicsoar
    dynamicsoar 2015/01/22
    「auto 関数名(仮引数リスト) -> 戻り値型」これずっと探してた…なるほど…助かった。/アロー演算子検索可能性悪すぎて死ねる…/まさかのはてブでなくローカルブクマ前にしてた…
  • 関数オブジェクト(前編)

    (このコンテンツはメールマガジンの STL & iostream 入門に手を加えたものです。「 STL と iostream が使えるかのチェック」等はメールマガジンの方のページをご覧ください) 前回の最後で「 Alg_printf() なんて std::fill() とほとんど変わらない」と言いました。実際、 std::fill() と Alg_printf() の違いは、代入か printf() か、たった1行の違いです。この違いだけのためにアルゴリズムを作るのは面倒とも言えるでしょう。 STL はそんな面倒なことさせません! その辺のことも、もちろん考えられているのです。こういった問題のために、 STL には「関数オブジェクト」という仕組みが用意されています。これについて見ていきましょう。 関数オブジェクトは「クラステンプレート」の一種です。当は自分で作るものですが、少しだけ、 S

  • GCC for both x64 & x86 Windows! - MinGW-w64

    Mingw-w64 is an advancement of the original mingw.org project, created to support the GCC compiler on Windows systems. It has forked it in 2007 in order to provide support for 64 bits and new APIs. It has since then gained widespread use and distribution. The development and community are very active and welcoming with new contributors every month and simple installers. Headers, Libraries and Runt

  • MinGW-w64 - for 32 and 64 bit Windows

    The mingw-w64 project is a complete runtime environment for gcc to support binaries native to Windows 64-bit and 32-bit operating systems. Features Compiler toolchain hosts nativelySupports Native TLS CallbacksSupports Wide-Character Startup (-municode)Supports 32-bit and 64-bit Windows i386/x64Supports Multilib toolchainsSupports bleeding edge gcc/binutils

    dynamicsoar
    dynamicsoar 2015/01/22
    最新のmingwインストール用のインストーラ…のようだが、プロクシのせいかうまくいかない
  • http://homepage1.nifty.com/Ayakawa/soft/ntutil.html

    dynamicsoar
    dynamicsoar 2015/01/22
    Explzh で 7zip 解凍するのに必要っぽい
  • Windows8.1でMinGWをインストールしたのですが、動作確認時に分からないことがあります。 - C言語を学ぼうとしてい... - Yahoo!知恵袋

    Windows8.1でMinGWをインストールしたのですが、動作確認時に分からないことがあります。 C言語を学ぼうとしている初心者です。さまざまなテキストを確認するとコンパイラとしてMinGWを使っているものが多いのですが、インストールディスクがついているものはすべてXP、VISTA対応のものばかりのため、Netでいろいろと調べ、ダウンロードしました。動作確認としてコマンドプロンプトにgcc --versionと入力し確認することが必要と記載されていたサイトがありましたので、その通りにしてみると「gcc.exeディスクがありません ドライブディスクがありません ディスクをドライブE:に挿入してください」というメッセージがが出ます。何度かキャンセルボタンを押すとバージョン情報が出るのですが、ちゃんとインストールできているのでしょうか。当に初歩的な質問で恐縮ですが、ご教授いただけると幸いです

    Windows8.1でMinGWをインストールしたのですが、動作確認時に分からないことがあります。 - C言語を学ぼうとしてい... - Yahoo!知恵袋
    dynamicsoar
    dynamicsoar 2015/01/22
    まじか… どれ選んだらいいか確かによくわからんので参考になる、かも
  • 本の虫: lambda 完全解説

    目的 この記事は、C++0xのlambdaを完全に解説せんとする目的を以て書かれた。サンプルコードは最小に留め、エラー処理等は省いた。この記事さえ読めば、今日からlambdaを恐れることなく使う物のC++0xプログラマになれるだろう。 lambdaとは何ぞや lambdaである。あるものは、lambda関数、あるいは無名関数という名称を使っている。いったいlambdaとは何なのか。 lambdaは関数である。また、特に名前はない。したがって、lambda関数、無名関数と呼ぶのは、間違ってはいない。しかしここでは、単にlambdaと呼ぶことにする。 lambdaを定義しよう lambdaは関数オブジェクトである。lambdaは関数オブジェクトである。これはとても大事なので二度書いた。lambdaは関数オブジェクト以外の何物でもない。ところが不思議なことに、皆lambdaが単なる関数オブジェ

  • 最も「買い」なドローンはどのモデルか、5機種を比較するとこんな感じ

    Amazonが配達に使おうと検討するほど飛行性能が向上してきたマルチコプター(ドローン)は、次々と新モデルが登場するなどまさに百花繚乱の状況です。その中でも飛行性能やメンテナンス性などからもっとも「買い」なドローンは何かを比較・検討するムービーが公開されています。2014年のベストバイ・ドローンは一体どのモデルなのでしょうか? Testing the five best drones you can buy — This is My Next - YouTube スマートフォンアプリと違ってドローンは必ずしも誰もが必要とするものではありません。 しかしドローンでないと撮影できない映像があることは紛れもない事実。 おかげで、「ドローンこそ最高にクールなハードウェアだ!」と考えている人もいるものです。今回は、現時点で比較的容易に入手できるドローン5機種を比較して、飛行能力やメンテナンス性から、

    最も「買い」なドローンはどのモデルか、5機種を比較するとこんな感じ
    dynamicsoar
    dynamicsoar 2015/01/22
    GPSとジャイロを混同してる?位置安定にはGPS(も)使ってるかもだがより大事な姿勢安定はジャイロだろ?あーいやクアッドロータってそもそも姿勢安定はいいから位置制御が大事って言いたいのか?