[软件开发]C/C++
文章平均质量分 87
贺二公子
这个作者很懒,什么都没留下…
展开
-
C++进阶(八) :Lambda 表达式及底层实现原理【详解】
c++ lambda转载 2023-02-10 14:40:46 · 2263 阅读 · 0 评论 -
C语言中的关键字volatile
volatile转载 2023-01-12 13:32:16 · 840 阅读 · 0 评论 -
【C++基础】C++11的新特性
c++11转载 2022-12-06 11:17:03 · 90 阅读 · 0 评论 -
关于 #ifdef __cplusplus extern “C“ { #endif
C/C++转载 2022-12-03 20:59:56 · 400 阅读 · 0 评论 -
C++编码优化之减少冗余拷贝或赋值
性能优化转载 2022-12-02 17:34:22 · 329 阅读 · 0 评论 -
性能杀手:”潜伏”的memset
性能优化转载 2022-12-02 16:43:30 · 729 阅读 · 0 评论 -
数组,vector,map,list,queue区别
数据结构转载 2022-12-01 17:38:46 · 198 阅读 · 0 评论 -
多态(C++版)
多态转载 2022-12-01 16:10:10 · 59 阅读 · 0 评论 -
获取结构体某成员偏移
偏移转载 2022-10-29 17:48:45 · 234 阅读 · 0 评论 -
虚函数详解
c++ 虚函数转载 2022-10-10 14:04:04 · 82 阅读 · 0 评论 -
c语言中static关键字用法详解
c c++ static转载 2022-10-10 09:18:49 · 221 阅读 · 0 评论 -
C语言数据类型转换规则(隐式转换+显式转换)
C类型转换转载 2022-07-20 15:26:44 · 1320 阅读 · 0 评论 -
this指针详解
this指针详解转载 2022-07-20 15:02:54 · 404 阅读 · 0 评论 -
C++内存管理全景指南
C++内存管理转载 2021-09-23 17:43:46 · 538 阅读 · 0 评论 -
C++的cast有四种cast法
最近正好遇到了cast…就顺便查了一下C++下的四种cast的办法,顺便算个小记录吧reference:http://www.cplusplus.com/doc/tutorial/typecasting/dynamic_castdynamic_cast 只能够用在指向类的指针或者引用上(或者void*)。这种转换的目的是确保目标指针类型所指向的是一个有效且完整的对象。同隐式转换一样,这种转换允许upcast(从派生类向基类的转换)。但dynamic_cast 也能downcast(从基类向派生类的转载 2021-02-25 10:17:02 · 533 阅读 · 0 评论 -
C++ memory order循序渐进(一)—— 多核编程中的lock free和memory model
文章目录1. 多核编程面临的问题2. lock free2.1 lock free的定义2.2 Lock free 相关技术3. Memory model3.1 reorder类型和Memory model的强弱3.2 Compiler Barrier和Runtime Memory Barrier4. c++ 11 memory order前面看brpc的源码的时候发现很多地方为了追求性能很多地方都指定了memory_order,于是也去专门学习了一阵,同时准备写博客记录下,原本觉得一两篇就够了,但是一路转载 2021-02-10 14:31:07 · 746 阅读 · 0 评论 -
C++中虚析构函数的作用
虚析构函数转载 2016-06-20 17:30:31 · 313 阅读 · 0 评论 -
inline内联函数(声明前加inline还是定义前加inline)
inline转载 2017-09-30 09:38:16 · 2390 阅读 · 0 评论 -
memmove 和 memcpy的区别以及处理内存重叠问题
memcpy memmove转载 2017-10-18 14:30:36 · 964 阅读 · 0 评论 -
不使用vector<bool>的原因和替代方法
c++ vector<bool>转载 2017-11-24 17:49:29 · 4966 阅读 · 0 评论 -
C++程序常见的性能调优方式
C++ 性能优化转载 2018-11-06 10:40:42 · 578 阅读 · 1 评论 -
C代码性能优化总结
原文地址:https://blog.csdn.net/chenyq991/article/details/79047741最近做一个项目,对性能要求很高,为了尽可能提高性能,网上找了很多性能优化相关的帖子,进行了很多的思考和尝试,今天抽空把近期的一些学习和心得做一个总结。由于这个项目只是提供一个模块,颗粒度较小,不涉及多线程、同步异步、数据库等,本文主要从以下几个方面进行分析:1、优化代码框...转载 2019-05-14 17:58:02 · 279 阅读 · 0 评论 -
《C程序性能优化》学习笔记【一】—— CPU与编译器概论
1.1 高速路与人行道计算机中的程序可比作在“有红绿灯的高速路”工作。在编写C/C++程序是,编写者会在程序中设置很多“红绿的和人行道”,导致程序减速。但是只要去掉其中几个主要障碍,程序的运行速度就会提高数十倍。1.2 编译器是如何运作的程序编译过程如图1-2所示。GCC将程序源码编译为汇编语言程序,汇编编译器将汇编语言转换成机器语言的目标程序,链接器将目标程序和外部模块连接起来,生成...原创 2019-05-17 10:38:42 · 516 阅读 · 0 评论 -
《C程序性能优化》学习笔记【二】—— 执行成本
2.1 程序的执行成本优秀的程序员会让程序使用最少的计算量,就是让指令的执行时间(即执行成本)尽可能缩短。本章重点在于让大家了解平时所写的程序如何被执行,以及每个操作对应的执行时间。2.2 计·测·谋衡量操作所需执行时间的程序为基准测试程序(benchmark test program)。书中的探讨考虑以下计算机循环执行加法运算所需时间。条件判断指令会让整个加法运算时间增长,因此需...原创 2019-05-23 11:34:05 · 990 阅读 · 0 评论 -
《C程序性能优化》学习笔记【三】—— 寻找性能瓶颈
3.1 使用gprof命令进行分析在追求高效化编程的过程中,若不能准确定位哪些环节在浪费时间,可先分析程序各部分在执行时花费的时间,然后找到原因,解决问题。gprof的使用方法gprof工具可以打印程序运行过程中各个函数消耗的时间与调用次数,也可以获得程序运行过程中函数调用关系图(call graph)的评测信息(profile information)。使用gprof之前,有必要先对目标...原创 2019-05-28 09:13:50 · 799 阅读 · 2 评论 -
《C程序性能优化》学习笔记【四】—— 达人方法论
4.1 达人的关注点第3章,研究了如何检查耗时的部分,之后需要着眼于何处实现高效编程。这里,从系统构造来看,遇到问题要先解决什么问题。硬件篇程序中不稳定的部分是程序的瓶颈。以下因素可能成为程序瓶颈:程序是否侧重于处理字符串;是否侧重于处理数值运算;是否侧重于访问底层硬件;程序是否与其他程序紧密关联。无论怎样的程序,都有计算机系统中各部件协调运作执行。因此计算机各部件的运行速度和...原创 2019-06-04 17:42:07 · 666 阅读 · 0 评论