日常C++问题汇总

  1. 内存泄露的前提是进程一直在运行;进程一旦退出,所占用的整个内存都被销毁,都被系统回收,所有内存退出。

  2. typeid输出变量类型,typeid(var).name()

    std::cout << typeid(std::string).name() << std::endl;
    std::cout << typeid(std::int64_t).name() << std::endl;

NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
l
  1. 类中包含一个类对象,包含的类对象怎样初始化?
    在初始化本类对象时,初始化包含的类对象,即在执行本类对象的构造函数时,先执行包含对象的构造函数。

  2. C++结构体使用
    声明结构体的方式和声明类的方式大致相同,其区别如下:

1) 使用关键字 struct 而不是关键字 class。
2) 尽管结构体可以包含成员函数,但它们很少这样做。所以,通常情况下结构体声明只会声明成员变量。
3) 结构体声明通常不包括 public 或 private 的访问修饰符。
4) 类成员默认情况是私有的,而结构体的成员则默认为 public。程序员通常希望它们保持公开,只需使用默认值即可。

struct TaskStruct{
    int id = 0;
    bool get_image_flag = false;
};
  1. queue可以push std::string[12]数组吗?

不行,不是class type,non-class type。

posted @ 2016-12-27 23:03  yuxi_o  阅读(1418)  评论(0编辑  收藏  举报