
C++
文章平均质量分 69
C++学习笔记
破坏之王C
为什么写这么多bug?因为我不想代码被敌人捡到就直接使用。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于UDP的网络同步框架
UDP(User Datagram Protocol)是一种无连接的传输层协议,属于OSI模型中的传输层。原创 2025-04-09 16:48:46 · 573 阅读 · 0 评论 -
C++ Lambda函数
如果在名称前加上&,如[&x],将按引用访问变量。[&]让您能够按引用访问所有动态变量,而[=]让您能够按值访问所有动态变量。也可混合使用两种方式,如,[x,&y]让您能够按值访问x,按引用访问y,[&,x]让您能够按值访问x,按引用访问其他动态变量;[=,&x]让您能够按引用访问x,按值访问其他动态变量。在c++11中,对于接受函数指针或函数符的函数,可以使用匿名函数(lambda)作为其参数。函数指针会阻止内联,因为编译器传统上不会内联其地址被获取的函数,因为函数地址的概念就意味着非内联函数。原创 2025-01-31 20:01:07 · 289 阅读 · 0 评论 -
C++函数对象
很多STL算法都是用函数对象,也叫函数符(functor)。函数符是可以以函数方式与()结合使用的任意对象。public://重载()运算符Linear f1;//Linear对象//Linear对象//调用重载的()//调用重载的()通常第三个参数可以是常规函数,也可以是函数符。实际上这里提出一个问题:如何声明第三个参数?不能把它声明为函数指针,因为函数指针指定了参数类型。由于容器可以包含任意类型,所以无法预先知道使用那种类型。原创 2025-01-31 17:30:13 · 913 阅读 · 0 评论 -
C++智能指针
智能指针是一种用于自动管理动态内存分配的类模版,旨在减少手动管理内存带来的错误和复杂性。c++11标准库主要引入了三种智能指针。shared_ptr所使用的策略是跟踪引用特定对象的智能指针数,也就是引用计数,例如,赋值时,计数将加1,而指针过期时,计数将减1,仅当最后一个指针过期时才调用delete。2.std::unique_ptrunique_ptr 是一种独占所有权的智能指针,意味着同一时间只能有一个 unique_ptr 拥有某个资源。当 unique_ptr 被销毁时,它所管理的资源也会被自动原创 2025-01-29 21:39:01 · 186 阅读 · 0 评论 -
C++11 简化声明功能
关键字auto还可以简化模版声明。关键字decltype将变量的类型声明为表达式指定的类型。这里解决的问题是,在编译器遇到eff的参数列表前,T和U还不在作用域内,因此必须在参数列表后使用decltype。c++11将auto用于实现自动类型推断。这要求进行显示初始化,让编译器能够将变量的类型设置为初始值的类型。上述语句具体化模版array<T,int>。原创 2025-01-29 11:05:33 · 273 阅读 · 0 评论 -
C++可变参数模版
可变参数模版让您能够创建这样的模版函数和模版类,即可接受可变数量的参数。模版参数包;函数参数包展开参数包递归。原创 2025-01-28 23:38:29 · 365 阅读 · 0 评论 -
C++函数模版
T temp;temp = a;a = b;b = temp;模版并不创建任何函数,而是告诉编译器如何定义函数。需要交换int的函数时,编译器将按模版模式创建这样的函数,并用int替换T。int b = 2;swap(a,b);编译器会生成如下的函数int temp;temp = a;a = b;b = temp;原创 2025-01-28 20:42:51 · 443 阅读 · 0 评论 -
C++函数指针
与数据项相似,C++函数也有对应的内存地址。函数地址是存储其机器语言代码的内存的开始地址。所以我们可以编写将另一个函数的地址作为参数的函数,这样第一个函数就能找到第二个函数并执行它。原创 2025-01-28 11:03:17 · 692 阅读 · 0 评论