カテゴリ「C/C++」のlog - project-enigma

カテゴリ「C/C++」のlog

>> Site top >> weblog >> カテゴリ別アーカイブ >> カテゴリ「C/C++」のlog

最終更新日付:2014/02/04 07:48:00


2月が終わっちゃう

2016 年 02 月 29 日

3週間も何も書かずに過ごしてしまった。以前ハマっていると書いたC++のプログラム、アレに引き続き足をとられている。

Read more

 

思いつきで泥沼

2016 年 01 月 24 日

2週間も何も書かずに過ごしてしまった。何もしていなかったわけではなくて、ちょっと思いつきで書き始めたプログラムで泥沼にハマってしまっていたのだ。というか、まだ当分抜け出せそうにない。

Read more

 

Cでmallocの回数を節約する話

2014 年 02 月 12 日

何の本で読んだか忘れてしまったのだけれど、「長さ1の char 配列を使って、malloc の呼び出しを節約する」というテクニックがあった。久し振りに思い出したので、今日はそれについて書こう。最初のコードはこんな感じ。

typedef struct {
    int  size;
    char buf[1];
} foo;


foo* create_foo( const char* p );

int main( void ) {
    foo* pFoo = create_foo( "hello world" );
    puts( pFoo->buf );
    free( pFoo );
    return 0;
}

Read more

 

C++のラムダ式の話

2014 年 02 月 05 日

C++ 0x11 の目玉といえば、やはりラムダ式ではなかろうか。g++ でもって使ってみようとして、最初に書いたコードは以下のようなものだった。

int main( void ) {
    std::array<int, 10> arr;
    std::iota( arr.begin(), arr.end(), 0 );
    std::for_each( arr.begin(), arr.end(),
                   []( int x ) {
                       printf( "%d\n", x );
                   } );
    return 0;
}

Read more

 

たまにはC++の話でも

2014 年 02 月 04 日

最近は Common Lisp ばかりなのだけれど、仕事でもプライベートでも C++ を時々使う。で、新しい C++ 標準をまだ実際に使っていないので、まだ色々と良くわからないことが多い。今回は、constexpr のことでも。

以前から使っている関数テンプレートに、countof というのがある。これは配列の要素数を取得するもので、自分が以前から使っている実装は以下のようなものだった。

template <int N, typename T>
inline int countof( T const (&arg)[N] ) {
    return N;
}

Read more

 

 


Copyright(C) 2005-2017 project-enigma.
Generated by CL-PREFAB.