- 博客(4)
- 资源 (4)
- 收藏
- 关注
原创 粗识openmp
看到一段代码利用openmp并行执行for循环,觉得这玩意真方便,一行代码就完事了,就上网学习。大致看完之后得出个结论,这玩意也就只能for循环用用。个人粗浅的认识,接受一切反驳。理由如下:上手有门槛,初级功能简单方便,想用好高级功能还是挺麻烦的。跨平台、多编译器支持:不是决定性优势,跨平台的线程库也不少。多线程很多情况下是启动不同的处理函数,这种场景用std::thread/pthread也麻烦不到哪去,同步什么的控制起来更熟悉。总之:学习成本(特别是团队)与收益不成正比。但是,如果有大
2020-09-03 14:29:01 151
原创 noexcept与栈展开(stack unwinding)
noexcept说明在C++11之后,表示函数不会抛出异常的动态异常声明throw()被新的noexcept异常声明所取代。该关键字告诉编译器,函数中不会发生异常,这有利于编译器对程序做更多的优化。如果在运行时,noexecpt函数向外抛出了异常(如果函数内部捕捉了异常并完成处理,这种情况不算抛出异常),程序会直接终止,调用std::terminate()函数,该函数内部会调用std::abort()终止程序。从语法上讲,noexcept修饰符有两种形式,一种就是简单地在函数声明后加上noexcep
2020-09-03 11:05:35 315
原创 new T加不加括号的区别
new对象时加不加括号有什么区别?new T;new T();总结两句话:建议使用new T();,明确调用构造函数。用new T;就表示不关心是否初始化,一般后续会有初始化语句。new T;的行为不确定,与类定义、编译器实现有关。x详见附录【1】struct A { int m; }; // POD// 注:这里与附录不同,增加virtual编译器才生成默认构造函数,可能跟跟编译器版本有关struct B { virtual ~B(); int m; }; // non-POD,
2020-09-03 09:17:40 351
转载 C++ POD类型
在C++11标准中,POD出现的概率特别高,目测是非常重要的一个概念,以往都是看的一知半解。今天抽空专门研究下POD究竟是什么,到底有多重要,有什么作用呢?POD (Plain Old Data),是C++语言的标准中定义的一类数据结构,通常用于说明一个类型的属性,尤其是自定义用户类型的属性,同时POD属性在C++11往往又是构建其他C++概念的从基础。百度百科中定义:POD适用于需要明确的数据底层操作的系统中。POD通常被用在系统的边界处,即指不同系统之间只能以底层数据的形式进行交互,系统...
2020-09-03 09:16:45 251
astyle之小乌龟辅助工具V1.1
2012-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人