ロゴ メインコンテンツへ
RSSフィード
「ソフトウェア開発」に関連する記事一覧

C++ 関数ポインタを動的メモリ確保

2011/09/07
(この記事の文字数: 413)
C++ 
C++で関数ポインタを動的にメモリ確保できるはずと思って、いろいろやってみたら以下のコードのようにしたらできたのでメモしておきます。

C++は始めてもう2, 3年経ちますが、意外と知らないことって結構あります。まだまだ中級にすらなれない未熟者です。

#include <stdio.h>

int (*functions[2])(int);

int Add(int a){
    return ++a;
}
int Sub(int a){
    return --a;
}

int main(){
    int num_func=2;
    int (**fp)(int);

    //** alloc mem
    fp = new (int(*[num_func])(int));

    //** assign
    fp[0] = Add;
    fp[1] = Sub;

    //** execute
    for(int i=0; i<num_func; i++){
        printf("%d\n", fp[i](10));
    }
    delete[] fp;

    return 0;
}


  このエントリーをはてなブックマークに追加  

<<「ソフトウェア開発」の記事一覧に戻る

<<「ソフトウェア開発」の次の記事

コメント(0 件)



コンテンツロード: 0.008 sec
Copyright(C)2006-2024 puarts All Rights Reserved