Linux | c&cpp | Email | github | QQ群:425043908 关注本站

itarticle.cc

01非常实用全面的 C++框架,库类等资源

这次的资源涉及到了标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等,C++程序员学习必备!

02double与uint64互转精度丢失

double: 1bit(符号位) 11bits(指数位) 52bits(尾数位),uint64_t最大值转为double型:64bit的1->1.111(52个)*2^63 (在vs中实际转换后表示成了1.00*2^64,应该是因为最后11个bit 进了一位),不超过53位时才不会有精度问题

03设计模式六大原则

单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则

04全排列与全组合

全排列就是从第一个数字起每个数分别与它后面的数字交换,也可以得出这种解法每次得到的结果都是正确结果,所以复杂度为 O(n!).输入三个字符 a、b、c,则它们的组合有a b c ab ac bc abc。当然我们还是可以借鉴全排列的思路,利用问题分解的思路,最终用递归解决。不过这里介绍一种比较巧妙的思路 —— 基于位图.

05多线程编程使用无锁结构会不会比有锁结构更快?

一部分朋友觉得用锁会影响性能,其实锁指令本身很简单,影响性能的是锁争用(Lock Contention),什么叫锁争用,就是你我都想进入临界区,但只能有一个线程能进去,这样就影响了并发度

06c++ 中的重载全局new,delete

new为我们做了两件事情,一、申请一块足够的内存空间供存放对象,对于new一个数组对象,编译器会计算出总共的空间,然后执行类似c语言中malloc函数类似的功能。二、初始化对象,对于单个对象,包括包括基本对象和类对象,可以通过括号初始化,比如int * pn = new int(3); A * pa = new A(3); 然而对于数组不能初始化,对于类对象,必须定义无参数的构造函数。

07C++ 中对象创建(构造、拷贝、赋值、隐式类型转换)

对象创建、拷贝构造、赋值、隐式类型转换、explicit、按值传递 (passed by value)、按引用传递 (passed by reference)、参数传递、返回值传递

08模拟差网络环境的软件

clumsy makes your network condition on Windows significantly worse, but in a managed and interactive manner.

09TPS和QPS的区别

TPS:Transactions Per Second(每秒传输的事物处理个数); QPS:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准

10内存错误,int_malloc错误

在修改较多文件,make和执行,发现总是提示SegmentFault,调试也找不到原因(gdb调试时,往往进入某个普通的函数就SegmentFault),new时段错误

11抓包之Wireshark使用指南之一

Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据包,并为用户提供关于网络和上层协议的各种信息,并尝试显示包尽可能详细的情况。与很多其他网络工具一样,Wireshark 也使用pcap network library来进行封包捕捉。Wireshark可能算得上是今天能使用的最好的开源网络分析软件。

12抓包之Wireshark使用指南之二

Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据包,并为用户提供关于网络和上层协议的各种信息,并尝试显示包尽可能详细的情况。与很多其他网络工具一样,Wireshark 也使用pcap network library来进行封包捕捉。Wireshark可能算得上是今天能使用的最好的开源网络分析软件。

我的名片

网名:丰果 | Ranger

职业:游戏开发

现居:上海市

Email:86668082@qq.com




站点信息

  • 建站时间:2016-04-01
  • 文章统计:728条
  • 文章评论:82条
  • QQ群二维码:扫描二维码,互相交流