随笔分类 -  C/C++

摘要:原文链接: https://blog.csdn.net/flowing_wind/article/details/81301001 参考资料:《C++ Primer中文版 第五版》 我们知道除了静态内存和栈内存外,每个程序还有一个内存池,这部分内存被称为自由空间或者堆。 程序用堆来存储动态分配的对象 阅读全文
posted @ 2023-02-23 17:23 Bigben 阅读(270) 评论(0) 推荐(0)
摘要:General way to implement tcp servers is “one thread/process per connection”. But on high loads this approach can be not so efficient and we need to us 阅读全文
posted @ 2023-02-06 16:47 Bigben
摘要:这样不行,没有成员函数的实现: #include <iostream> using namespace std; class Base1 { public: virtual void b1(); }; class Base2 { public: virtual void b2(); }; class 阅读全文
posted @ 2023-01-10 15:54 Bigben
摘要:入门示例: 协程在单线程执行,foo1 执行完,才能执行 foo2: #include <iostream> #include <coroutine> #include <thread> #include <queue> #include <functional> std::queue<std::f 阅读全文
posted @ 2022-12-29 10:38 Bigben 阅读(590) 评论(0) 推荐(0)
摘要:模板就是代码自动生成器,根据模板的规则自动生成类和函数。所谓的主模板和偏特化,都是代码生成的框架模型(类似面向对象的类和实现了部分功能的子类)。它们是抽象的存在,而不是具体的实例。只有全特化后,才是有了具体的实例,实实在在的存在(好比人(模板)和小明(实例)的关系)。 自己代码编写的全特化,就是自己 阅读全文
posted @ 2022-12-24 17:56 Bigben 阅读(989) 评论(0) 推荐(0)
摘要:版权声明:本文为CSDN博主「爱码大鲤鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/K346K346/article/details/81703914 1.简介子类为完成基类初始化,在 C++11 之前,需 阅读全文
posted @ 2022-11-24 11:43 Bigben
摘要:#include <iostream> #include <map> using namespace std; int main() { map<int, string> m{{1, "one"}, {2, "two"},{3, "three"}, {4, "four"}, {5, "five"}} 阅读全文
posted @ 2022-11-01 17:42 Bigben
摘要:1,下面编译运行没问题 #include <iostream> #include <unordered_map> #include <functional> using namespace std; void solve() { int x=100; typedef int (*MyType)(in 阅读全文
posted @ 2022-06-04 22:34 Bigben 阅读(93) 评论(0) 推荐(0)
摘要:c++共享指针 shared_pointer 阅读全文
posted @ 2022-03-08 17:33 Bigben
摘要:class A { public: void test() { std::cout << "test" << std::endl; } }; class B : public A { public: void test2() { std::cout << "test2" << std::endl; 阅读全文
posted @ 2022-01-18 18:44 Bigben 阅读(247) 评论(0) 推荐(0)
摘要:返回多个值 C# 使用C# 7.0推出的值元组和解构功能。 static (int, int) Calc(int a, int b) { return (a + b, a - b); } static void Main() { var (add, sub) = Calc(8, 2); Consol 阅读全文
posted @ 2021-12-30 15:05 Bigben 阅读(172) 评论(0) 推荐(0)
摘要:转自:C++11使用using定义别名(替代typedef) 大家都知道,在 C++ 中可以通过 typedef 重定义一个类型: typedef unsigned int uint_t; 被重定义的类型并不是一个新的类型,仅仅只是原有的类型取了一个新的名字。因此,下面这样将不是合法的函数重载: v 阅读全文
posted @ 2021-12-13 14:40 Bigben
摘要:C++11: std::tuple | De C++ et alias OOPscenitates (oopscenities.net) 20150910OOPSCENE 从零开始的简单函数式C++(二)tuple - 知乎 (zhihu.com) 包装多个数据的元组 tuple 既然两个元素可以用 阅读全文
posted @ 2021-11-04 18:37 Bigben 阅读(444) 评论(0) 推荐(0)
摘要:https://www.fluentcpp.com/posts/ 非常好的讲解c++ https://wandbox.org/permlink/P9OKYwkxGqMnTGT2 在线c++执行 本文转自:https://www.fluentcpp.com/2018/11/06/how-to-tran 阅读全文
posted @ 2021-11-03 11:17 Bigben
摘要:C++ Iterator 阅读全文
posted @ 2021-10-29 14:34 Bigben 阅读(246) 评论(0) 推荐(0)
摘要:// complex constructor example #include <iostream> // std::cout #include <complex> // std::complex using namespace std; using Complex = std::complex<d 阅读全文
posted @ 2021-10-11 11:46 Bigben
摘要:11.4.9 c++默认生成副本构造函数,但是有指针时会造成一个内存被两个指针同时指向的问题。 Box::Box(Box box){} 这个实参时按值传递。它是个Box对象,所以编译器需要调用 Box的副本构造函数,制作这个副本。而这个副本构造函数又是按值传递的,又需要再次调用副本构造函数,造成递归 阅读全文
posted @ 2021-08-31 11:24 Bigben
摘要:对于一个函数的参数为引用,如果想接收临时变量,就必须加上 const。 class A{ public: A(int aa) {} }; void f(A& a) { }; int main(int argc, char* avgv[]) { f(A(5));//报错:必须为左值 return 0; 阅读全文
posted @ 2021-08-26 15:56 Bigben 阅读(18131) 评论(0) 推荐(0)
摘要:硬核来袭 | 2 万字 + 10 图带你手撕 STL 关联式容器源码 (7 条消息) herongwei - 知乎 (zhihu.com) ​ STL 源码剖析 再硬核|5 千字长文+ 30 张图解 | 陪你手撕 STL 空间配置器源码 硬核|万字长文炸裂!手撕 STL 迭代器源码与 traits 阅读全文
posted @ 2021-06-22 09:33 Bigben 阅读(296) 评论(0) 推荐(0)
摘要:转自:C++干货系列 - 知乎 (zhihu.com) C++17的左值和右值 | RuiBing, welcomes you to his home page. 讲得也不错 [c++11]我理解的右值引用、移动语义和完美转发 - 简书 (jianshu.com) 我希望在讲述一个知识点时,能够从容 阅读全文
posted @ 2021-06-07 17:17 Bigben 阅读(297) 评论(0) 推荐(0)