Humanity

Edit the world by your favorite way

2009-11-07から1日間の記事一覧

ι

C++

vectorをそのまま渡したとして、intってどうやったらとれるのか分からない... (要するにvectorだけじゃなくコンテナ全般に対して要素の型を取得したい) 追記:id:faith_and_braveさんが要素の型はvector::value_typeで取れると教えてくださったので書き直し…

ポインタ同士の加減算

C

なぜかポインタ同士で差を求めようとするとバイトでのオフセットが返ると思ってた。あぶないあぶない。 正しくはそのポインタ間での要素数が返る。 #include <stdio.h> int main(void) { int arr[] = { 1,2,3 }; int *p1 = &arr[0]; int *p2 = &arr[3]; // sizeof(int</stdio.h>…

rpm -qfとrpm -qlに対応するdpkgのオプション

こうすればいいのか。rpm -qf => dpkg -S rpm -ql => dpkg -L 参考URL dpkg, rpm, pkginfo 比較 http://www.tymy.net/~matsu/blog/2008/12/08/rpm-dpkg-%E5%A4%89%E6%8F%9B%E8%A1%A8/ dpkgでやっていたことをrpmコマンドで - のしろの徒然日記

void*に対して加減算をすると何Byte進むのか

C

答え: 1Byte。 コンパイルエラー(gcc以外では)。(コメント欄にてid:pi8027さんにvoid*に対して加算できるのはgcc拡張だと教えていただきました。詳しくはid:pi8027さんのコメント欄のURLを参照してください) 歴史的な理由があるらしくて、char*と同じになっ…

変数を定数値として扱う

C

キャストすることによって「定数値であるべき変数」に対して代入を抑制する方法。 #ifndef __cplusplus extern #else extern "C" #endif signed char _mb_cur_max; #define MB_CUR_MAX ((int)_mb_cur_max) ...MB_CUR_MAXマクロの定義で、int型にキャストして…

Firefoxのスマートキーワード

は s@... 検索用 k@... キーワード用 b@... ブックマークレット用 とかにすると被らなくて便利。