
C++
文章平均质量分 77
c++语言的积累
wanttifa
这个作者很懒,什么都没留下…
展开
-
内存溢出和内存泄漏的区别
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!内存溢出就是你要求分配的内存超出了系统能给你的,系统不能满足需求,于是产生溢出。内转载 2022-03-01 15:12:37 · 1332 阅读 · 0 评论 -
iomanip
iomanip iomanip在c++程序里面经常见到下面的头文件#include <iomanip>,io代表输入输出,manip是manipulator(操纵器)的缩写(在c++上只能通过输入缩写才有效。) 作用主要是对cin,cout之类的一些操纵运算子,比如setfill, setw, setbase, setprecision 等等。它是I/O流控制头文件,...原创 2018-08-02 11:34:56 · 2162 阅读 · 0 评论 -
链接器工具错误 LNK2019
已编译的函数的函数对符号进行引用或调用,但是链接器在要链接的任何库或对象文件中都找不到符号定义。此错误消息后跟严重错误LNK1120。 若要修复错误 LNK1120,必须先修复所有 LNK2001 和 LNK2019 错误。原创 2020-08-28 10:26:00 · 6623 阅读 · 0 评论 -
g++与gcc的区别
1. GCC,gcc,g++的区别GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等语言。gcc是GCC中的GUN C Compiler(C 编译器)g++是GCC中的GUN C++ Compiler(C++编译器)2. gcc和g++都是GNU(一个组织)的编译器...转载 2018-07-26 22:46:37 · 282 阅读 · 0 评论 -
引用是否占用内存空间?
被猪队友问到一个问题“引用是否占用内存空间?”。突然有点懵逼,查阅一些资料以后更懵逼了。。。有的说占用有的说不占用,讨论可以说很激烈。今天猪队友自己找到了证据,此时此刻我作为一个猪队友决定站在“引用占用内存空间”的这一派整理一下这些资料。首先介绍一下使用引用时需要注意的事项:引用不是一种独立的数据类型,对引用只有声明没有定义声明一个引用时,必须进行初始化声明一个引用后,不能再使之作为另一...转载 2019-09-16 22:37:18 · 6310 阅读 · 8 评论 -
C++ 标准库类型 string
在刷题的时候,经常会用到string,但是用法有的时候记不住,老去翻书百度太麻烦了,就想办法总结到一起,方便以后查阅。标准库类型string标准库类型 string 表示可变长的字符序列,使用 string 类型必须首先包含 string 头文件。作为标准库的一部分,string 定义在命名空间 std 中。1. 定义和初始化 string 对象 指令 ............原创 2018-08-01 16:38:24 · 601 阅读 · 0 评论 -
c/c++内存对齐
今天学习内存对齐的时候,无意间看到一个大佬写的一系列帖子,写的很深入和详细,还有各种实验的对比验证,因此记录一下。【内存对齐】第一篇·一道 sizeof 的 面试笔试题 带来的深刻反思【内存对齐】第二篇·结构体内存对齐的规律与原则【内存对齐】第三篇·显式干预对齐的三种方法【内存对齐】第四篇·Array、Union内存对齐的规律与原则【内存对齐】第五篇·嵌套构造类型的对齐规则{结构体}【内存对齐】第六篇·嵌套构造类型的对齐规则{数组}【内存对齐】第七篇·嵌套构造类型的对齐规则{共用体}...原创 2022-02-17 12:24:39 · 325 阅读 · 0 评论 -
c语言:统计整数二进制表示中1的个数(汉明重量)
问题描述:对于一个字节的无符号整型变量,求其二进制表示中1的个数。第一次见到这个问题应该是icephone第一次例会的时候,问题虽然简单,但也值得深思。后来查阅资料的时候才知道这个问题有个正式的名字叫Hamming_weight,也被一些公司当做面试题。下面通过几个不同阶段的算法,谈谈这个问题。一、逐个数刚刚接触这个问题的时候是上学期吧,大一,还刚接触软件工程,接触c语言,对一些问题的看法也比较单纯。那时候,就想着纯粹的一个个数来着,声明一个计数变量,满足条件(尾数是1),就加一,然后 / 2(转载 2022-02-09 08:51:10 · 1117 阅读 · 0 评论 -
C++ [Warning] deprecated conversion from string constant to ‘char*‘ [-Wwrite-strings]
主程序初始化字符串,是字符串常量, 该字符串的内存分配在全局的const内存区。而char* 声明了一个指针,而这个指针指向的是全局的const内存区,const内存区当然不会让你想改就改的。所以,如果你一定要写这块内存的话,那就是一个非常严重的内存错误。修改:char* s 改为 char s[]即可。引用字符串中具体字符的时候*(s+i) 和s[i]都可以。ps:有关于char* s 和 char s[]的区别见博客。...原创 2020-09-08 14:45:56 · 741 阅读 · 0 评论 -
C_获得当前的工作路径 _getcwd()函数:取得当前的工作目录
相关函数:get_current_dir_name, getwd, chdir头文件:#include <unistd.h>或者 #include <direct.h>定义函数:char * getcwd(char * buf, size_t size);函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf 所指的内存空间,参数size 为buf 的空间大小。注:1、在调用此函数时,buf 所指的内存空间要足够大。若工作目录绝对路径的字符串长度超过参数si转载 2020-09-08 14:45:33 · 754 阅读 · 0 评论