摘要: 1.cin,cout加速: std::ios::sync_with_stdio(false); cin,cout效率低是因为先把要输出的东西存入缓冲区,再输出,导致效率降低。这段语句取消iostream的输入输出缓存,可以显著提高cin和cou... 阅读全文
posted @ 2022-05-10 19:33 shldy1999 阅读(369) 评论(0) 推荐(0)
摘要: 1 查看能打开的数量: 用户级限制:ulimit -n可以看到结果。 系统级限制:cat /proc/sys/fs/file-max 2 临时修改最大数量: ulimit -n 2000 将最大值改为20... 阅读全文
posted @ 2022-05-10 19:33 shldy1999 阅读(294) 评论(0) 推荐(0)
摘要: 1.大端字节序和小端字节序: 大端字节序存储时值的高位存储在较小的地址,值的低位存储在较大的地址。 小端字节序存储时值的高位存储在较大的地址,值的低位存储在较小的地址。 以0x12345678为例: ... 阅读全文
posted @ 2022-05-10 19:33 shldy1999 阅读(105) 评论(0) 推荐(0)
摘要: 简单介绍c++11的四种智能指针的用法。使用智能指针需要包含头文件#include。c++11提出了四种智能指针auto_ptr,unique_ptr,shared_ptr和weak_ptr。 1.auto_ptr: auto_... 阅读全文
posted @ 2022-05-09 18:15 shldy1999 阅读(67) 评论(0) 推荐(0)
摘要: 1.一个数字出现一次,其它数字出现两次: 这是此类问题中最简单的。考虑到异或运算符^会把相同的位置为零,因此从第一个数字开始异或,最后得到的值就是出现一次的数字。 2.一个数字出现1次,其它数字出现N次: 如果n为偶数就比较简单... 阅读全文
posted @ 2022-05-09 18:15 shldy1999 阅读(107) 评论(0) 推荐(0)
摘要: 二分查找也叫折半查找,其用于在排好序的数组找到指定值,复杂度为logN。假定要在数组a[n]中寻找b,方法是先找到数组中间的值a[n/2],如果a[n/2]=b则找到,如果a[n/2]#include#includeint main() { s... 阅读全文
posted @ 2022-05-09 18:15 shldy1999 阅读(672) 评论(0) 推荐(0)
摘要: 1.TCP/IP协议: 1.1 TCP/IP协议是什么: 很多人认为tcp/ip就是tcp和ip组成的通信协议。其实tcp/ip协议不仅仅指代tcp/ip,它是指一个由FTP,SMTP,TCP,UDP,IP,HTTP等协议构成的... 阅读全文
posted @ 2022-05-07 17:31 shldy1999 阅读(179) 评论(0) 推荐(0)
摘要: 1.互斥量mutex: 1.1 多线程的问题: 当使用多线程编程时,如果多个线程同时访问同一资源很可能会出现错误,下面程序展示了这点。 #include #include #include #include void func1(int& a)... 阅读全文
posted @ 2022-05-07 14:40 shldy1999 阅读(596) 评论(0) 推荐(0)
摘要: 1.std::thread的使用: std::thread是C++11提出的,因此使用std::thread需要c++11或c++11以上标准。在linux使用std::thread时需要在编译时链接-lpthread。 2.使用thread的... 阅读全文
posted @ 2022-05-07 14:40 shldy1999 阅读(176) 评论(0) 推荐(0)
摘要: 1.前置知识: 在了解万能引用和完美转发之前需要了解左值,右值,左值引用,右值引用和引用折叠。下面简单概括一下这些名词,关于每个名词的详细解释网上有很多非常好的文章,故不在本文赘述。 1.1 左值和右值: 简单的说可以取地址的就... 阅读全文
posted @ 2022-05-07 14:40 shldy1999 阅读(246) 评论(0) 推荐(0)