きままにブログ

プログラミングを主とした私のメモ帳です。寂しいのでコメントください笑

2014-03-05から1日間の記事一覧

引数のデフォルト値

C++

template <class T> struct C { C(int x = 1); // ここに書く }; template <class T> C<T>::C(int x) { std::cout << x << std::endl; } 定義の方ではなく、宣言の方に書く(知らなかった)。</t></class></class>

C4346 : 依存名は型名ではありません

C++

template <class T> struct B { struct A; A* func(); }; template <class T> struct B<T>::A { }; template <class T> B<T>::A* B<T>::func() { // B<T>::A*は型名ではありません! return new A(); } Tが不明なため、B::A*もどういったものか分からないためエラーとなる。これが型であることを明示</t></t></t></class></t></class></class>…

全手動ガベージコレクタを作った

C++

マークからスイープまで全部自分で指定しないと動いてくれないガベージコレクタを作った。しかも1つのメモリ管理に付き1つの型しかつかえない。要はメモリアロケータなのだが、 static MemoryManager<int> mm; int main() { int c = 0; while(1) { auto& item = m</int>…