![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++常用技巧
抠出C++编程当中的细节,归纳总结
我爱剪刘海儿
这个作者很懒,什么都没留下…
展开
-
面试高性能一般会问的几个问题
面试高性能一般会问的几个问题1.多进程和多线程的并发编程各自的优势线程的进程在单核的芯片上都是可以进行运行的,这就涉及到了一个切片的概念,那么切片成本的不一样多进程的好处就是地址空间相互独立,这是一个进程不影响另外一个进程,但是在进程之间的通信就比较困难;内核态进行切换2.协程为什么能够的实现更高的并发协程为什么会更很快:切换速度较快,在用户态进行切换非阻塞编程有关:所有的一套API...原创 2020-05-03 21:24:26 · 1049 阅读 · 0 评论 -
do {...} while (0) 的用途汇总
do {…} while (0) 的用途汇总(欢迎补充)转载于原博主在一些Linux内核和其它的开源代码中,我们经常看到像下面这样的代码:do{ ... }while(0)该代码片段并非循环,这样想想似乎使用do…while没有任何意义,那么为什么还要使用它呢?实际上,do{…}while(0)的用途并不仅仅是优化你的代码。经过一系列的调研和探索,我们总结出它的一些用途如下...转载 2020-05-04 09:17:03 · 297 阅读 · 0 评论 -
C++ 博客专栏汇总 面试学习用 非突击问答式
虚函数表的原理1虚函数表的原理2C++一些面试汇总函数重载和函数重写纯虚函数c++的类型兼容性规则c++左值和右值智能指针1智能指针2lambda表达式struct和class的区别struct和union的区别struct中的字节对齐C++中的四种转换符的使用...原创 2020-03-28 23:21:33 · 260 阅读 · 0 评论 -
直观的打印一颗二叉树
直观的打印一颗二叉树在节点值两边加上特定的字符串标记来区分孩子和位置以及之间的位置关系:HXH:表示头结点 X;vYv:表示节点 Y 是左下方最近节点的孩子;Z:表示节点 Z 是左上方最近节点的孩子遍历树的顺序为:右子树 -> 根 -> 左子树;避免节点值长度不同影响对其,规定每个节点值长度为固定值(这里规定为 10)最直观的打印二叉树public class Prin...原创 2020-03-02 13:49:29 · 355 阅读 · 0 评论 -
编程刷题的一些技巧
刷题当中遇到的一些编程技巧1.如何获得一个二维数组的行数和列数;int m=matrix.size(),n=matrix[0].size();2.记住 在一个二维数组当中,第一步是判断数组是否为空int m=matrix.size(); //取出行的数目if(m==0) return false; //如果行0 ,说明是个空数组,不为0,接下来才是取列数int n=matrix...原创 2020-02-26 21:38:10 · 913 阅读 · 0 评论 -
在C/C++中,如何得到int型能表示的最大值,最小值?
第一种方法:在limits.h/climits中,定义了INT_MAX,INT_MIN,可以直接使用第二种方法:如果要通过程序得到,比较简单的一种方法是靠操作内存中的二进制位了,具体需要了解数值在内存中的表示,牵涉到数据的原码、反码、补码。可以#define MAX_INT (((unsigned int)(-1))>>1) #define MIN_INT M...原创 2020-03-02 16:20:59 · 1355 阅读 · 0 评论