文章分类 - C++
摘要:导读 做开发的人都知道多线程是一个很复杂的问题,一不下心就会出现莫名其妙的八哥,有句话调侃说: 一个程序员碰到了一个问题,他决定用多线程来解决。现在他有了两个问题。。。 在前面《C++之多线程(一)》 一文中,我们介绍了C11中多线程的一些基本使用以及给线程传递参数时的一些注意事项。 今天我们继续了
阅读全文
摘要:导读 终于,在万众期待之下,C11有了自己的线程库,实现了真正意义上的跨平台,今天在了解C11线程库的同时,也来温习下POSIX线程。 POSIX线程 在C11之前因为没有C语言没有语言级别的线程库,所以在Linux上用的都是POSIX线程,POSIX的相关API大概如下: POSIX函数 功能 p
阅读全文
摘要:为什么引入异常 在C语言中错误的处理,通常采用返回值的方式或是使用全局变量的方式。这就存在两个问题,一是如果返回值正是我们需要的数据,这就导致了返回数据同出错数据容错差不高。 二是全局变量,在多线程中易引发竞争,而且,当错误发生时,上级函数要出错处理,层层上报,造成过多的出错处理代码,且传递的效率低
阅读全文
摘要:导读 提到类型转换,相信有过编程经验的小伙伴们都不陌生了。之前笔者在《NDK编程Java如何保存C或C++对象》 一文就中使用了类型强转的方式。 既然C++是继承于C的语言,那么它在类型转换上又做了哪些扩展呢? C语言式转换 C语言式的类型转换很简单,通过一个括号即可完成强转:(Type)var;。
阅读全文
摘要:有了左值引用为什么还需要右值引用? 在平时编码过程为了减少数据的拷贝,提高性能,我们一般通过引用的方式来传递参数,例如: void func(const int &a){ } int main() { func(10); // 可以 int a = 20; func(a); // 可以 return
阅读全文