c++ 的问题杂记 ---------

1.    添加包,为什么有<> , 有 ” ”  ?
  “fileName” 会从当前目录开始搜索, 会从系统include目录开始搜索
2.    #pragma once   第一行,这个是啥?
  防止头文件被多次include。
3.    template     using Batch = std::vector;  是啥?
  为 std::vector 定义别名 Batch
4.    std::lock_guard lock(image_lock_);
  std::lock_guard 是与mutex配合使用,把锁放到lock_guard中时,mutex自动上锁,lock_guard析构时,同时把mutex解锁。 
5.    auto 是啥?
  auto让编译器通过初始值来推算变量的类型,所以auto定义的变量必须有初始值。 
6.    Size_t 跟 int的区别--
  size_t是一些C/C++标准在stddef.h中定义的。这个类型足以用来表示对象的大小。size_t的真实类型与操作系统有关。
  在32位架构中被普遍定义为:typedef   unsigned int size_t;
  而在64位架构中被定义为:typedef  unsigned long size_t;
7.    ros::NodeHandle    ros包中的一些操作
  NodeHandle 句柄,可以为不同级别的命名空间。
8.    在写nodelet的时候,显示宏定义失败,最后发现宏定义要写在include后面,猜测是因为宏定义中引用了头文件中的Class导致
12.    enc库  eg: enc::bitDepth
13.    sensor_msgs 库  sensor_msgs::Image 与 sensor_msgs::ImageConstPtr , sensor_msgs::ImagePtr的区别 (智能指针有关)

你可能感兴趣的:(c++ 的问题杂记 ---------)