C++基础知识点

void *
void *是无类型指针,可以与其他指针随意进行转化。malloc返回的就是void *,需要通过强制类型转换变成指定单元的指针

纯虚函数外界调用相关:
C++使用纯虚函数的接口封装以及接口的调用方法

#pragma once
预处理指令,保证头文件只编译1次。必须放在文件最开始的地方。但pragma once不是跨平台的,跨平台的使用#ifndef #define #endif

#include< chrono>
C++11中提供的时间库
https://blog.csdn.net/qq_36336522/article/details/79410813

constexpr变量
C++11,将变量声明为constexpr便于编译器验证变量是否为常量表达式,constexpr代表一定按照常量表达式处理,在编译器计算
参考:https://blog.csdn.net/weixin_40087851/article/details/82754189

using三种用法:
1.命名空间 using namespace xxx;
2.子类中引用基类成员,using Father::data;
3.设置别名 using Id = int 以后出现Id都是int

TimerBase(const TimerBase &) = delete;
=delete是禁用类成员,取消一些默认的构造函数

template <typename… Args>
int call(Args &&…args);
C++11新特性:可变模板参数,参数任意个数,任意类型

#include
断言库,断言用于调试,在非真(可能错误)发出信息提示,并终止异常程序

g++参数
-g 可执行文件可以使用gdb调试
-O3 使用O3级优化,其余优化等级包括O2/O1
-std=c++17 使用c++17标准编译 g++支持C++11/14/17

< chrono>库
std::chrono::system_clock::now()返回值是time_point类型,该类型不能直接cout输出,要使用std::chrono::system_clock::to_time_t()转化成time_t类型,转化输出的是秒数(1970年1月1距今)。然后可以通过ctime转换成具体的时间格式
在这里插入图片描述

exit()函数
必须有参数exit(0)/exit(1)/exit(-1)
头文件:stdlib.h
exit(0); // 程序正常退出

回调函数
主程序调用函数A,但是函数A的完成需要调用函数B,在主程序中将B作为参数传给A供A调用,B就是回调函数
回调函数常用typedef转成对象名

#ifndef
#define
#endif
作用:
1)防止头文件被重复包含和编译
#include”a.h”
#include”b.h”
但b中又引用一次a,a会被编译两次
2)防止重复定义
主文件中int b。include”a.h” a中也int b;
参考:【C/C++】ifndef/define/endif的作用_大熊啾啾的博客-CSDN博客_ifndefdefineendif的作用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值