随笔分类 - Cherno C++ vedio
关于Cherno的C++系列的学习笔记
摘要:返回多个返回值的方法3种,第3种是c++17的方式,一行结束 注意使用第三种时(结构体绑定),需要保证使用C++ 17标准编译 以前介绍过结构体的返回,返回一个结构体来需要的数据,但是为什么我们要创建一个只使用一次的结构体呢,这样会让代码变得基础混乱,我们可以使用这种结构体绑定的方式。
阅读全文
摘要:debug模式下会做非常多安全性的工作,所以我们改成release模式下去运行,查看效率,结果如图 多次运行结果一致。
阅读全文
摘要:左值和右值(L值和R值) 基础概念 关于引用 1、左右值都可以做参数 2、左值参考 在这个错误提示中,有一个很特殊的规则,就是const。 当我们试图写 ,这是不被允许的,但是如果我们写 ,这样就可行了。这个特殊的规则实际上编译器做的事情可能就像是 实际上这只是避免去创建一个L值,而是仅仅能都支持L
阅读全文
摘要:Union和struct有点儿像,但是它是单纯的一个数据集合,并且,每个成员共享一个内存。这意味着,如果Union里有俩个int变量,那么这个Union集合也只占用4个字节。 关于Union占用空间的计算可以看下面这个例子。 #include <iostream> int main() { unio
阅读全文
摘要:这里的重点是sort函数。 #include <iostream> #include <vector> #include <algorithm> #include <functional> int main() { std::vector<int> values = { 3,5,2,4,1 }; /
阅读全文
摘要:关于具体的多维数组不赘述,但是有可能会有一个内存泄漏的问题,具体可以看代码 #include <iostream> int main() { int** a2d = new int* [50]; for (int i = 0; i < 50; i++) a2d[i] = new int[50]; f
阅读全文
摘要:上一个打印时间的简单例子 #include <iostream> #include <chrono> #include <thread> int main() { using namespace std::literals::chrono_literals; auto start = std::ch
阅读全文
摘要:总之上代码吧 #include <iostream> #include <thread> static bool s_Finished = false; void DoWork() { using namespace std::literals::chrono_literals; std::cout
阅读全文
摘要:简单来说,一种创建匿名函数的方法 当你有一个函数指针时,你就可以在C++中使用lambda 让我们看一点实际的例子吧。 #include <iostream> #include <vector> #include <functional> void ForEach(const std::vector
阅读全文
摘要:来看一个例子 #include <iostream>void HelloWorld() { std::cout << "Hello World" << std::endl; } int main() { void(*function)(); function = HelloWorld; functi
阅读全文
摘要:这一系列笔记来自对Cherno的油管视频学习的一个记录,他是EA的游戏引擎工程师,制作了一系列关于C++,openGL,游戏引擎制作等的视频。 模板,让编译器按照你设定的规则去编译,这是一个非常庞大的话题。 1、我们从一个简单的例子上开始入手 void Print(int value) { std:
阅读全文

浙公网安备 33010602011771号