C++
文章平均质量分 78
menghaocheng
这个作者很懒,什么都没留下…
展开
-
vscode配置C++环境(图文详解)
一、安装C/C++ Runner插件二、安装编译器vscode是一个编辑器,需要另外安装编译器,可以是cygwin、MSYS2、mingw、vs studio,这里我们选择插件中推荐的MSYS2按照官网MSYS2的步骤来就行了:(其中,第5、6步是更新,第7步是安装推荐的mingw-64、GCC工具,安装过程一路回车)## 第5步:pacman -Syu #完整之后窗口会关闭,你需要从开始中重新运行#完整之后窗口会关闭,你需要从开始中重新运行#...原创 2021-10-16 18:44:22 · 6139 阅读 · 2 评论 -
【bazel】根据.proto文件生成.h、.cc文件
在项目中定义HHHA.proto文件,然后在HHHB.cc或者HHHC.h中直接使用.proto中的定义的“类”——这是可行的。方法是用bazel构建项目时先由HHHA.proto生成中间文件HHHA.pb.cc和HHHA.pb.h。前提: 正确安装bazel,如果没有,请参照这里.【步骤】目录结构├── WORKSPACE└── src ├── B...原创 2019-10-16 12:19:18 · 5690 阅读 · 0 评论 -
【c++】指针与引用的区别
指针其实就是一个变量,和其他类型的变量是一样的,它是一个占用四字节的变量(32位机上),与其他变量的不同之处就在于它的就是值是一个内存地址,指向内存的另外一个地方。而引用则是变量的一个别名。【例1】#include <iostream>using namespace std;void main(){ int ival = 2014; int *pi ...原创 2019-10-16 09:31:44 · 99 阅读 · 0 评论 -
【c++】C++中typename关键字的使用方法和注意事项
目录起因 typename的常见用法 typename的来源 一些关键概念 限定名和非限定名 依赖名和非依赖名 类作用域 引入typename的真实原因 一个例子 问题浮现 千呼万唤始出来 不同编译器对错误情况的处理 使用typename的规则 其它例子 再看常见用法 参考 写在结尾起因近日,看到这样一行代码:typedef ...转载 2019-10-14 23:18:51 · 446 阅读 · 0 评论 -
【c++】C++11新特性:参数绑定——std::bind
1. 可调用对象可调用对象有一下几种定义:是一个函数指针,参考C++ 函数指针和函数类型; 是一个具有operator()成员函数的类的对象; 可被转换成函数指针的类对象; 一个类成员函数指针;C++中可调用对象的虽然都有一个比较统一的操作形式,但是定义方法五花八门,这样就导致使用统一的方式保存可调用对象或者传递可调用对象时,会十分繁琐。C++11中提供了std::functio...转载 2019-10-14 10:49:47 · 711 阅读 · 0 评论 -
【c++】GUARDED_BY(c) 和 PT_GUARDED_BY(c)
GUARDED_BY是一个应用在数据成员上的属性,它声明了数据成员被给定的监护权保护。对于数据的读操作需要共享的访问权限,而写操作需要独占的访问权限。PT_GUARDED_BY与之类似,只不过它是为指针和智能指针准备的。对数据成员(指针)本身没有任何限制,它保护的是指针指向的数据。【例1】 mutable absl::Mutex stream_mutex_; std::d...原创 2019-10-12 11:02:59 · 1558 阅读 · 0 评论 -
【c++】在函数声明时,后面跟个const是什么意思
指明不可修改成员变量的值,否则编译报错。原创 2019-07-06 08:14:33 · 1153 阅读 · 0 评论 -
【c++】std::move(进阶)
结论: std:move的作用是把左值引用强转为右值引用 右值引用的作用是在某些场景下降低开销 右值引用可以理解为:把本来即将消亡的临时变量继续使用 正文:------------------------------------------------------------------------------------------------------...原创 2019-10-11 18:08:22 · 1220 阅读 · 1 评论