cmake学习笔记

看了B站一个cmake教程,部分笔记内容来自别人

CMake中的变量

  • 变量和含义

    常用变量 含义
    PROJECT_NAME 工程名变量
    PROJECT_SOURCE_DIR 顶层的项目目录
    PROJECT_BINARY_DIR 使用cmake的路径
    CMAKE_ROOT CMAKE安装的根目录
    CMAKE_BUILD_TYPE 编译类型:emptyDebugRelease
    CMAKE_SOURCE_DIR 顶层的CMakeLists.txt所在路径
    CMAKE_BINARY_DIR 顶层的CMakeLists.txtbuild所在目录
    CMAKE_<LANG>_COMPILER 设定某个语言LANG的编译器,比如g--
    CMAKE_INSTALL_PREFIX 指令install的路径
    CMAKE_CURRENT_SOURCE_DIR 当前CMakeLists.txt所在路径
    CMAKE_CURRENT_BINARY_DIR 当前CMakeLists.txtbuild所在目录
    EXECUTABLE_OUTPUT_PATH 可执行文件输出路径
    LIBRARY_OUTPUT_PATH 库输出路径

侯捷C++学习笔记:对象的创建和销毁

概述

  • 本文会记录CPP中对象的创建和销毁的过程中的细节

big three函数

  • 拷贝构造函数
  • 拷贝赋值函数
  • 析构函数

用途:这三个函数是在类中包含了指针的情况下使用的。

  • 当有一个成员变量是一个指针时,就有了给这个变量赋值的问题。如果这个赋值需要深拷贝,那么就需要申请内存空间。这样在析构函数中就需要对指针进行delete。
  • 这个成员变量可以是在对象构造函数中被赋值的,比如是个拷贝构造函数。也可以是在拷贝赋值函数中被赋值的。

侯捷C++学习笔记:Object Model

composition & delegate & inherit 的构造和析构顺序

侯捷C++学习笔记:Reference

本质

  • 通过指针实现,所以本质就是指针

侯捷C++学习笔记:偏特化

什么是偏特化

  • 泛化(泛型)的反义
  • 分为个数的偏特化和范围的偏特化

数量偏特化

  • 举个例子,如果有如下class的定义,第一个class的就是泛型的,而第二个class,也是两个参数,但是第一个参数是个确定类型的,第二个是泛型的。这样就叫个人的偏特化。这固定类型的位置必须是从左至右的,不能跳着写。

侯捷C++学习笔记:类型转换

自己转换为别的类型

  • 做法:使用operator关键字,无需返回值,函数名称就是返回值。如有需要加上const修饰。

侯捷C++学习笔记:面向对象

Composition

  • 组合
  • 其实就是一个类(Container)中包含了另一个类的实例(Component),注意是实例。

侯捷C++学习笔记:基础

1.类

  • 带指针的类
  • 不带指针的类:大多数不需要析构函数
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×