c++基础
文章平均质量分 97
白白皎皎
新手求粉
展开
-
编译器优化之内存对齐
在工作中,做性能优化,无意间看到反汇编中有nop指令,大致能猜测是内存对齐相关优化,但不清楚相关优化选项,编来了兴趣,对编译器的内存对齐优化进行一次系统的学习和总结由于我编写代码的运行环境为ARMV8指令集架构服务器,编译器是gcc,因此后续的总结主要基于ARM指令集。这次总结相关实例代码主要通过网站提供的在线编译进行编译对比自从有了AI后,学习总结变得容易了很多,这次学习和总结也主要基于百度文心一言的对话进行理解。原创 2024-05-02 22:22:45 · 1108 阅读 · 1 评论 -
C++模板类链表实现
模板类链表 编写过程参考了: http://blog.csdn.net/qinmusiyan/article/details/39830195 头结点不为空 节点计数从1开始 由于是模板类,声明和定义都放在头文件里 编写注意事项: 每个节点增加时有且只能定义一个分配一个动态内存(new) 时时判断头结点是否为空,如果为NULL,插入时必须在h原创 2015-11-03 20:59:06 · 4369 阅读 · 2 评论 -
C++ 类型隐式转换学习
何为隐式转换? 我的理解是:编译器自动调用某类的构造函数,将其他类转换为此类,以方便明确某些操作。这样说起来比较难理解,直接以例子说明。 先定义一个CMyVector 的 向量类,如下:.h文件:class CMyVector {public: /*explicit*/ CMyVector(int ix = 0, int iy = 0, int iz = 0); /原创 2017-08-11 09:40:46 · 312 阅读 · 0 评论 -
通配符字符串匹配
利用递归,实现了通配符?和* 的字符串匹配 判断代码中为了不区分大小写,使用tolower函数。如果要区分大小写,去掉tolower就好。bool match(const char *pattern, const char *content){ // if we reatch both end of two string, we are done if ('原创 2017-09-18 13:03:23 · 646 阅读 · 0 评论 -
C++ 字符、字符串大小写的转换
string 大小写的转换,利用transform函数, 将string cmdContent 进行大小写转换。transform(cmdContent.begin(), cmdContent.end(), cmdContent.begin(), ::toupper);//转换为大写transform(cmdContent.begin(), cmdContent.end(), cm原创 2017-09-18 17:28:21 · 3344 阅读 · 0 评论 -
Release、Debug版本 float 未在拷贝构造函数中初始化问题
在查bug中,发现一个参数在构造函数中初始化了,但在拷贝构造函数中未赋值,结果在vector::resize中调用了拷贝构造函数,参数未初始化,导致在release 和 debug版本中结果不一样的问题。写个dome说明下:从结果上可以看出,vector::resize 第一个类先调用构造函数,后面都直接调用拷贝构造函数。 而reserve只是开辟空间,为做任何填充。我的...原创 2019-07-17 11:39:59 · 659 阅读 · 0 评论