• c++编程总结


    1. 如果使用自己生成的dll,则需要将其导出为lib, 对每个在外部需要调用的类,前面都要加上__declspec(dllexport), 可以用宏定义,比如:

    #if defined(_MSC_VER)
    #define RAW_DATA_EXPORT __declspec(dllexport)
    #else /* compiler doesn't support __declspec() */
    #define RAW_DATA_EXPORT 
    #endif

    这样每个导出的类名字前面只需要加一个宏RAW_DATA_EXPORT 即可,如:

    class  RAW_DATA_EXPORT Pose{

    };

    2. new之后要判断申请内存是否成功。如:

    SI_CHAR * pData = new SI_CHAR[uLen+1];
    if (!pData) {
    return SI_NOMEM;
    }

    3. 函数只执行一次或者线程退出

    设置一个flag,这个flag初始化的时候设置为true, 第一次执行后置flase, 以后都会判断这个flag,为false就不会再执行。

     退出线程也是判断flag,如:while(flag),只需将flag置flase即可退出。

    4. 子类继承基类,类中包含对象,这两种情况需要在构造函数的初始化列表调用基类的构造函数,和所包含类对象的构造函数。

     比如:

    class  CColisionGrid : public CDynamicGrid<TCollisionCell>

    {

      CParameterizedTrajectoryGenerator const * m_parent;

      

      CColisionGrid(float x_min, float x_max,float y_min, float y_max, float resolution, CParameterizedTrajectoryGenerator* parent )

      : CDynamicGrid<TCollisionCell>(x_min,x_max,y_min,y_max,resolution), m_parent(parent)

    }

  • 相关阅读:
    ubuntu 通过命令将数据复制到u盘
    项目感言--功能的模块化
    java 中变量的存储与引用
    java 基础拾漏
    自动完成--autoComplete插件(2)
    自动完成--autoComplete插件
    Linux查看端口
    Linux查看系统信息
    js splice方法
    slice、substring、substr
  • 原文地址:https://www.cnblogs.com/jinee/p/5410183.html
Copyright © 2020-2023  润新知