「C/C++ 関数・マクロ集」というタイトルですが, そのうちのいくつかはC専用だったりします.(苦笑) 2007/06/24(日) 追記 高木さんより, Cの規格上移植性に問題がある点をご指摘いただいたので, 現在修正中です. (たくさんあります….orz) とはいってもその多くは, めったにお目にかかれないような珍しい処理系とか, 「そんなの実在するの?」という処理系に移植する場合の話なので, 実用上ほとんどの場合は問題ないと思います. (一部そうとはいえないものもありますが.) Cの規格に照らして完全に「処理系・OS 非依存」 にするのは困難な場合もあり, 完璧な移植性にこだわるあまりプログラムが書けなくなっては本末転倒なので, タイトルに「ほぼ?」を入れました.orz 2007/06/21(木) 追記 このページを含め,私が C/C++ 関連記事を書くに当たりたびたび参考に&リンク
C#の場合 class Object { public int Value { get{ return mValue;} set{ mValue = value;} } private int mValue; } obj.Value = aValue; get/setメソッドの中にデバッグ出力などの処理を入れることができる。それならC++でもできる話だが,これが obj.Value = aValue; のように変数への代入のように書けるのがポイント。 これを C++でも実現できないか?というのが主題。最終的に次のようなコードを書けるようにする。 int main(int argc, char* argv[]) { A a; a.Visible = false; if (a.Visible) printf("a is visible?n"); else printf("a is n
RAII と setjmp/longjmp C++ には RAII (Resource Acquisition Is Initialization) というイディオムがあります。これはリソースの開放を確実に行うためのテクニックとして C++ のプログラムで広く用いられています。しかし、RAII も setjmp/longjmp という落とし穴があります。 RAIIの基本 次のプログラムはメモリリークを起こします。 #include <string> using namespace std; int main() { string *p = new string; return 0; } このプログラムをビルドして valgrind でテストすると次のようなエラーメッセージが表示されます。4バイトのメモリリークが検出されました。 % g++ test.cc % valgrind ./a.ou
文字列操作の比較表: Ruby, Python, JavaScript, Perl, C++ Ruby, Python, JavaScript, Perl, C++ の文字列操作の比較表を作りました。配列操作の比較表の続編です。間違いなどがあったらご指摘いただけると助かります。 Ruby (String) Python (str) JavaScript (String) Perl C++ (std::string)
このページの最新版は以下の場所をご覧くださいhttp://sakura-editor.wiki.sourceforge.net/DoxygenHowto doxygenによってSAKURAエディタのソースコード解説を生成する方法を説明します。 必要なもの doxygen本体 nkf (Ver. 1.2.14以降では不要です.) テキストエディタのソースコード doxygen設定ファイル doxygen本体は http://www.doxygen.org から入手してください。Windows用Binaryもダウンロードできます。インストーラを実行して,インストールしたディレクトリ下ののbinにパス を通してください. 1.2.14以前のバージョン+NKFでEUCを使う場合に比べて直接Shift-JISを出力した方が高速ですので,旧版を使ってい る方はバージョンアップをおすすめします. nk
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く