zoukankan      html  css  js  c++  java
  • 统计产生的对象个数

    // templatetest.cpp : 定义控制台应用程序的入口点。
    //

    #include "stdafx.h"
    #include <iostream>
    #include <typeinfo>
    #include <string>

    using namespace std;

    template <typename CountedType>
    class ObjectCounter{
    private:
        static size_t count;
    protected:
        //缺省构造函数
        ObjectCounter(){
            ++ObjectCounter<CountedType>::count;
        }

        //拷贝构造函数
        ObjectCounter(ObjectCounter const &){
            ++ObjectCounter<CountedType>::count;
        }

        //析构函数
        ~ObjectCounter(){
            --ObjectCounter<CountedType>::count;
        };

    public:
        //返回存在对象的个数
        static size_t live(){
            return ObjectCounter<CountedType>::count;
        }
    };

    template<typename CountedType>
    size_t ObjectCounter<CountedType>::count=0;

    template <typename T>
    class countt:public ObjectCounter<countt<T>>
    {
    public:
        countt()
        {}

    };


    int _tmain(int argc, _TCHAR* argv[])
    {
        countt<int> tt;

        cout<<tt.live()<<endl;
        getchar();
        return 0;
    }
  • 相关阅读:
    python的包和模块
    python 匿名函数
    hdu 1455 Sticks
    python 返回函数
    python 自定义排序函数
    batchsize对收敛速度的影响
    mini_batch GD
    dropout
    sift
    hog
  • 原文地址:https://www.cnblogs.com/bayonetxxx/p/1853983.html
Copyright © 2011-2022 走看看