###1.结构体重载 struct T{ int a,b; bool operator <(const T &t) const{//重载小于号, if(t.a!=a) return a<t.a;//当a<t.a的时候a优先于t.a return b<t.b;//同理; } }; 一般结构体排序的时候 ...
转载
2021-09-30 21:26:00
116阅读
2评论
SFINAE是Substitution Failure Is Not An Error的缩写,即利用编译器的模板匹配失败来实现某些功能。C++中模板匹配遵循尽可能精确的原则,当最精确的模板匹配失败时会再尝试候选模板,因此利用同名但模板参数不同的多个模板函数可以达到编译器检查或判断的目的。 比如,对于多个module_xx类,需要检查其是否存在get_name函数,以采用不同的处理。 假设两个类
原创
2012-11-06 18:33:54
7103阅读
from:http://www.csdn123.com/html/blogs/20130601/18352.htm预备知识对于位运算,大家都很熟悉,基本的位操作有与、或、非、异或等等。在面试中经常会出现位运算相关的题,所以我就做了简单的整理,参考了很多写的很好的博客及书籍。现在简单说一下,移位运算。左移运算:x << y。将x左移y位,将x最左边的y位丢弃,在右边补y个0。右移运算:x
转载
精选
2013-08-16 12:41:30
613阅读
点赞
此文章内容来源于《算法笔记》 algorithm头文件下的常用函数 sort()函数 sort函数的使用必须加上头文件#include<algorithm>和using namespace std; 使用方式为:sort(首元素地址,尾元素地址的下一个地址,比较函数) 前两个参数必填 比较函数根据需 ...
转载
2021-10-03 14:56:00
87阅读
2评论
最近崩溃问题较多,把这段时间常用的调试技巧总结一下,分享给大家,希望能对大家有所帮助。
原创
2019-02-20 13:34:23
538阅读
一、使用new和delete进行动态内存分配和释放 运算符new和delete是C++新增的过算符,提供了存储的动态分配和释放功能。它的作用相当于C语言的函数malloc()和free(),但是性能更为优越。使用new比使用malloc()有以下的几个优点: (1)、new自动计算要分配类型的大小,不使用sizeof运算符,比较省事,可以避免错误。 (2、它自动地返回正确的指针类
转载
2021-07-31 10:58:23
194阅读
前言 写的很乱,各种内容都有。仅仅是为了记录一下 而且内容极其不严谨(没错,只有实践,没有理论)!请各位谨慎驾驶! 强制内联 本地测试结果: 开O2之后inline和Inline加不加没啥用 不开O2时inline可能会有负优化,而Inline会让程序快很多 当然也可以强制不inline 直接在函数
原创
2021-06-03 10:17:31
307阅读
虚拟构造函数并不是一个真正意义上的构造函数,而是一个设计模式。这种模式允许根据输入数据动态创建不同子类的对象。通常,这种
C++代码的执行主要分为编译阶段和链接阶段,掌握好编译技巧对于开发大有裨益。
原创
精选
2023-03-05 22:55:49
289阅读
前言 在软件开发的广阔天地中,C++凭借其强大的性能、灵活性以及对底层硬件的直接控制能力,长期以来一直是系统级编程、游戏开发、高性能计算等领域的重要工具。然而,掌握C++并不只是学习语法那么简单,深入
原创
2024-06-24 00:30:14
52阅读
检测一个无符号数是不为2^n-1(^为幂): x&(x+1) 将最右侧0位改为1位: x | (x+1)  
转载
精选
2012-02-06 10:56:48
501阅读
看到一篇介绍linux c/c++开发调试技巧的文章,感觉挺使用,哪来和大家分享。通向 UNIX天堂的 10个阶梯Author: Arpan Sen,高级技术人员, Systems Documentation, Inc. (SDI)讨论几种可以帮助C++开发人员节省时间的技巧和免费工具。C++开发人...
转载
2014-09-14 23:36:00
157阅读
2评论
C:小数的四舍五入问题小数用 %.xf 输出的话 是会自动四舍五入的比如说 double e = 2.718, c = 3.141; printf("%.2lf\n", e); printf("%.2lf\n", c); printf("%....
转载
2018-05-12 22:02:00
441阅读
【转自】here 编写程序不容易,编写多线程的程序更不容易。相信编写过多线程的程序都应该有这样的一个痛苦过程,什么样的情况呢?朋友们应该看一下代码就明白了, 上面的代码说明了一种情形。这种多线程的互斥情况在代码编写过程中是经常遇到的。所以,每次对共享数据进行操作时,都需要对数据进行EnterCrit
转载
2017-08-02 21:50:00
100阅读
2评论
C++是自己的第一工作语言,我深刻的喜欢着这门语言,因为我觉得他有着许许多多的特性值得我去挖掘,诚如一门绝世武功,在高手手里总能运用自如,但是在普通人的手里,却只是普通的工具而已。开发语言在发展,虽然C...
转载
2013-02-24 17:24:00
42阅读
2评论
1.关键字typename 这里内部的的typename指示T::const_iterator是一个类型,而不是一个静态成员. #include <iostream>// print element...
转载
2011-03-08 16:21:00
133阅读
2评论
因此,模板的实现也应该放在头文件内,此时在其他代码文件中可以直接将模板的实现也包含进来,
原创
2023-02-18 08:53:12
264阅读