タグ

c++に関するtack07のブックマーク (21)

  • 言語の進化について語る Bjarne Stroustrup 氏

    This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. Interview++ Bjarne Stroustrup on the Evolution of Languages Howard Dierking Contents Thoughts on Language Language Trends Methodology and Best Practices Looking toward the Future Books and Phones Every once in a while, an evolutionary leap rapidly advanc

    言語の進化について語る Bjarne Stroustrup 氏
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • iostreamの拡張

    Last update 1999/09/22 iostreamの拡張 (C)平山直之 無断転載は禁止、リンクはフリー 誤字脱字の指摘は歓迎 iostreamの拡張について 例によって唐突ですが、iostreamの拡張について書いてみたいと思います。ここでいう「拡張」とは、自分でcinとかcoutみたいなものを作ろう、ということです。 「こんなもん一番最初に教えんなや」と比較的評判の悪いiostreamですが、 演算子オーバーロードがいわば「御法度」な使い方をされている メソッドの命名法がやたら変 などのように表面的に美しくないのが悪評の原因で、その辺に目をつぶれば実はそれなりによくできたシステムだったりします。 拡張方法も一度覚えると結構便利ですぜ。 iostream拡張の基礎知識 iostream、というと、そのインターフェイス(Java的な意味じゃなくて)であるところのstd::cin

  • 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 を指定すると、その関数の中で

  • 基底クラスのメソッドの呼び出し | j3259の日記 | スラド

    普段 C++ を書いてないので基底クラスのメソッドの呼び出しを思い出せなかった。 Application::onKeyPress(a_key, a_x, a_y); つまり基底クラス名::メンバ関数名(パラメータ); が正解。よく考えてみたら C++ は多重継承してるから名指しするしか方法がない。 Delphi は inherited Foo; か inherited; Java は super.s(); C# は base.GetInfo(); PHP5 は parent::myFunc(); Python は BaseClassName.methodname(self, arguments) Ruby は super(1,2,3) Perl は $barney->Critter::display("Height", "Weight"); もしくは $self->SUPER::displ

  • iostream の仕組み

    (このコンテンツはメールマガジンの STL & iostream 入門に手を加えたものです。「 STL と iostream が使えるかのチェック」等はメールマガジンの方のページをご覧ください) STL がそうだったように、 iostream も非常に高い「カスタマイズ性」を持っています。「ないものは作ればいい」に強く応えてくれます。ですが、そのためにはまず iostream 全体の構造を知っておく必要があります。 iostream のクラスは、だいたい3つのグループに分かれます。これは「ストリームクラス」「フォーマットクラス」「バッファクラス」です。 これまで紹介してきた std::strstream などのクラスは、すべて最初の「ストリームクラス」に属するクラスです。普段使用する場合(つまりカスタマイズする必要がない場合)にはこのストリームクラスしかお世話にならないというわけです。 こ

  • C++文字列 - C++のstring型について調べるも… (凍結)

    文字列にはC言語の文字列charと、C++で定義されているstringクラスがある。 char型文字列は配列と同じ性質を持つ。文字定数のラベルは文字列のアドレスとなり、関数の引数にはポインタを使用する。 例: #include <stdio.h> #include <string.h> out(char *p){ printf("%s\n",p); } main(){ char *a="JSA"; out(a); } stringクラスを使用する場合は #include <string> を指定する。ラベルはオブジェクトであるからchar型のようにポインタに注意する必要がない。 例1: /* cc -lstdc++ b.cpp */ #include <iostream> #include <string> out(string p){ cout << p << endl; } main(

  • プログラム学習室 C++言語 基本のき

    ■お奨めリンク Computer Planet 簡単かつ簡潔にまとめられています。C/C++は初めてという方は一度ご覧になることをお奨めします。 ■基的なデータ型 int a; // a は -2,147,483,648 〜 2,147,483,647 の整数値 char b; // b は -128 〜 127 の整数値、1バイト文字(半角文字)も可 char c[3]; // c は半角で2文字+'\0'(文字列を終わりを意味する値) ■ if 条件判断 次の例では i が 1 の時、 x = a + b が実行される。 if ( i == 1) { x = a + b; } if 文は ある条件を満たすか、満たさないかで if の後の { } の間を 実行するかしないか判断する。 if の後の一行しか実行しないのであれば { } は省略できる。 if ( i == 1) x = a

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • C言語ポインタのしくみ 5 アドレス演算子(&)と間接演算子(*)

    Next: 6 ポインタ変数 Up: C言語ポインタのしくみ - コンピュータのしくみとポインタの関係 - Previous: 4 変数へのアクセス 5 アドレス演算子(&)と間接演算子(*) プログラミング言語は名前を使って変数への代入やその参照をするように作られています.しかし,2節で簡単に説明したように,実用的なプログラムを作成する場合にはそれだけでは十分ではありません.C言語ではアドレスを介して変数にアクセスすることもでき,それを実現する手段として2つの演算子( & と * )が用意されています. & は変数が割り当てられているメモリのアドレスを得る演算子で「アドレス演算子」と呼ばれています.例えば,変数 x が 1000 番地に割り当てられていたとすると &x の値は 1000 になります.このとき,&x を「変数 x への『ポインタ』」あるいは「変数 x を指す『ポインタ』」と

  • http://www.sasaraan.net/program/cpp/cpp_class2.html

  • Loading...

  • C++/CLIはC#を凌駕するかも知れない…… usingステートメント不要のDisposeメソッド呼び出しの衝撃

    どうもC++に関して、大きな思い違いをしていたかも知れない、と気付かされました。 Visual C++ 2005あるいは、おそらくはC++/CLIは、私が思っていた以上に凄いかもしれません。 その凄さは、ある種の生産性においてC#を凌駕するかもしれません。 お断り § 以下の文章は、夜中に突発的に書いたテストコードの動作結果をメモっておくために書いたもので、用語や解釈などが正しくない可能性があります。 ただし、Visual C++ 2005 Express Beta2で実行した結果について記していますので、ソースと実行結果の対応関係は間違いないと思います。 C#のusingステートメントとDisposeパターン § C#がJavaやVisual Basic.NETと比較して圧倒的に優れていると考えるポイントはいくつかありますが、その1つがusingステートメントとDisposeパターンです

    tack07
    tack07 2010/09/21
    [c++/cli][c#]
  • http://www.sasaraan.net/program/cpp/cpp_time.html

  • C++入門

    目指せプログラマー!にようこそ。 当サイトはこちらに引っ越しました。 お手数をおかけしますが、上記サイトへご移動くださいませ。

  • DLLを作ろう!(関数編)

    今回はDLLを作ってみましょう! いきなり色々作るのも大変なんで、今回は関数をエクスポートしたDLLを作ってみましょう。 関数を作る意味 DLLに関数を作る意味は、なんでしょう? はっきり言って意味はないです。今度説明する「DLLにクラスを作る方法」を使えば、関数を入れるためにDLLを作る必要はなくなるでしょう。 ただ、もちろんクラスとは別に関数をAPIのような形で置きたいという場合もあるでしょう。MFCにもAfxなんたらというような形で、普通の関数があります。そういう関数を起きたい場合には、必要な方法と言えるでしょう。 プロジェクトの作製 まずはプロジェクトから。プロジェクトは「MFC AppWizard (DLL)」を選んでください。DLLは、別にMFCを使わなくても作れますが、たぶん使った方がずっと楽ですので、今回は使うことにします。 プロジェクト名を決めて「OK」ボタンを押したら、

  • Visual C++ Express について

    Visual C++ 2005 Express Edition について 2005年12月、Microsoft社が、Visual Studio 2005 Express を公開しました。MicrosoftのExpressのページから、だれでも無料でダウンロードできます。(VB/VC/VC#など言語別パッケージになっています。)ただしダウンロードできる期間は1年間限定です。一旦ダウンロードして入手したものは期間限定無しで使用できるので、興味のある方は、今のうちにダウンロードしておきましょう。 このページでは、C言語初学者がWisdomsoftさんで勉強できるように、ネイティブな実行ファイルを作れるような環境構築を説明していきます。できるだけ最小限の物だけをインストールする方法にしていますので、他の物が必要な方は各自カスタマイズしてください。 1.インストール方法 *重要 Express Be

  • 二流プログラマの三流な日常: 関数呼び出しの内部を理解する(2)

    今回は、呼び出し規約について説明していきます。 呼び出し規約は関数の引数の引き渡し方、引数利用後の処理の仕方を制御します。 これが関数の装飾名にも影響を与えます。 例を挙げましょう。 関数の呼び出し元では第1引数はレジスタに記憶する、第2引数はスタックに積むというような約束事を作ります。 関数の呼び出し先では、第1引数はレジスタ、第2引数はスタックというように約束事を守るように引数を取得します。 このようなルールを作れば、違う言語における引数の引渡しが可能になります。 つまり、DLL関数が呼び出せない方は呼び出し元と呼び出し先で違う規約を使っている結果、装飾名が異なっている場合があります。 もう1つの原因は、次回に説明しますが、「extern "C"」キーワードを理解していない事です。 私が知っている呼び出し規約は以下の通りです。 cdecl(C規約) thiscall(C++メンバ関数規

  • http://rararahp.cool.ne.jp/vc/vctips/dll.htm

    VCで作成できるDLLには、大きく分けてWin32DLL,MFCDLLがあります。 Win32DLLは、MFCを使用しないDLLです。 また、MFCDLLには、レギュラーDLLと、拡張DLLがあり、 レギュラーDLLが、MFCを内部的に利用するDLL, 拡張DLLが、MFCライブラリクラスから派生したクラスをDLLを作成するとき に使うDLLです。まず、Win32 DLLを説明します。DLL内の関数を他のプログラムから呼び出すには、 その関数をエクスポートする必要があります。 エクスポートするには、declspec(dllexport)キーワードを 使用するか、DEFファイルを使用する方法があります。また、DLLをリンクするには、以下の2つの方法があります。・暗黙的リンク(静的リンク) ・明示的リンク(動的リンク) このようにDLLには、作成、使用方法にいくつか種類があります。そ

  • VC++DLL作成補足(Hishidama's VC++Memo "DLL")

    DLLの補足 DLL作成の指針やDLLに関連するファイルについて。 暗黙的リンクと明示的リンクの使い分け DLLに関係するファイル ソースファイル defファイル libファイル expファイル dllファイル [/2007-09-28] 序数 暗黙的リンクと明示的リンク DLLの呼び出し方法には、暗黙的(静的)リンクと明示的(動的)リンクがある。 暗黙的リンクと明示的リンクの特徴(メリット・デメリット) 暗黙的(静的)リンク 明示的(動的)リンク 関数の宣言