1.常用变量unique_ptr //模板类,拥有独有对象所有权语义的智能指针
shared_ptr //模板类,拥有共享对象所有权语义的智能指针,不会因为weak_ptr也指向同一个对象而引用计数加1
weak_ptr //模板类,由shared_ptr所管理的对象的弱引用,避免循环引用
auto_ptr //模板类,C++17中移除2.初始化shared_ptr<
这篇文章主要介绍了c语言 malloc函数详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧谈到malloc函数相信学过c语言的人都很熟悉,但是malloc底层到底做了什么又有多少人知道。1、关于malloc相关的几个函数关于malloc我们进入Linux man一下就会得到如下结果: 也可以这样认为
转载
2024-04-19 18:01:22
158阅读
malloc函数 百科名片Malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。 编辑本段函数简介原型:extern void *malloc(unsigned int num_bytes);
转载
2024-07-19 20:43:00
119阅读
最近开始捣鼓linux,把开发环境转到linux上。。。由于本人有怪癖。。不喜欢集成包。。所以apache+php+mysql相关的开发环境都是手动编译的。。
用vgdisplay指令查看vg卷的大小[root@localhost caoyong]# vgdisplay
--- Volume group ---
VG Name vg
什么是头文件我们以最简单的hello world为例,代码如下:#include<stdio.h>
int main()
{
printf(“hello world!\n”);
return 0;
}这个程序就有一个文件包含。也就是stdio.h这文件,这是一个名字叫stdio,后缀为.h的文件,其实和我们在日常用的txt文本文件并无两样,都是我们能看懂的字符,只不过是英文而已,头
LVM配置及磁盘配额LVM基本概念LVM构成LVM命令LVM配置磁盘配额磁盘配额配置 LVM基本概念LVM (Logical Volume Manager),逻辑卷管理 在保持现有数据不变的情况下动态的调整磁盘容量,提高磁盘管理的灵活性注:/boot分区用于存放引导文件,不能基于LVM创建LVM构成PV物理卷 (Physical Volume)物理卷是LVM机制的基本存储设备,通常为一个分区或
C语言标识符分类第一类:关键字定义由C语言规定的具有特定意义的字符串,通常也称为保留字。例如 int、char、long、float等。相当于已经被C语言本身特殊使用了的标识符,不可以再定义。在定义标识符的时候不能与关键字同名内容C语言有32个关键字数据类型关键字(12个)名称作用char声明字符型变量或函数double声明双精度变量或函数enum声明枚举类型float声明浮点型变量或函数int声
一、malloc()和free()的基本概念以及基本用法: 1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 关于分配失败的原因,应该有多种,比如说空间不足就是一种。 char *Ptr = NULL; Ptr = (char *)malloc(100 *
转载
2024-09-06 12:01:17
97阅读
一、基础知识 1.打开设备文件:
mem是一个字符设备文件,是计算机主存的一个映像。通常只有root用户对其有读写权限。因此只有root用户能进行这些操作。
如果要打开设备文件/dev/mem,需要系统调用open()函数,作用是打开一个文件或设备,其函数原型为:
int open(const char *path, int flags);
返回值:如果操作成功则返
转载
2024-07-02 19:00:16
320阅读
.h头文件以前也没觉得如何的难用,总是在需要的时候就随手包含了进去,但现在看这些代码,总感觉心里不踏实,不知道在什么时候需要包含,什么时候没有必要包含,vc编译器在编译的时候是怎么处理.h和.cpp文件的,主要是对编译器原理太不熟悉,没办法,今天特意开辟了半天的时间好好的找了些资料,耐心地看看高人们的讲解,这里只是列出下自己现在对今天看到的知识做些总结。编译器的
转载
2024-04-09 15:44:50
113阅读
最近一直在搞基于SWIG的C++接口翻译Java代码的工作。SWIG内部基于Bison(Yacc)的C/C++解析器,最近纠结于SWIG不能解析C++构造函数中的默认初始化赋值操作,想找一个能够补充此项能力的工具。 尝试了Cast-xml,因为官网上说编译需要依赖llvm+clang,结果浪费我半天的时间去研究怎么编译llvm+clang,耗费巨大的磁盘空间(12GB才到70%)作罢。后来发
转载
2024-03-25 17:37:53
217阅读
在将一个地址绑定到socket的时候,请先将主机字节序转换成为网络字节序再赋给socket,而不要假定主机字节序跟网络字节序一样使用的是Big-Endian。1、htonl、htons、ntohl、ntohs#include <arpa/inet.h> //函数头文件
uint32_t htonl(uint32_t hostlong);//32位的主机字节序转换到网络字节序
uint
转载
2024-04-22 22:21:33
365阅读
1.atomic及部分函数: atomic是c++11推出的原子变量,使用需要C++11及更高标准,包含的头文件为#include<atomic>1.1 atomic变量: atomic可以声明基本类
转载
2024-05-02 07:06:04
178阅读
imread头文件:opencv2/highgui/highgui.hpp作用:imread函数的作用非常简单,从函数的名称也可以看出来,imread为image read的缩写,即图像读取的意思函数原型:Mat cv::imread(const String&filename,int flags=IMREAD_COLOR)返回值 Mat 类型, 即返回读取的图像,读取图像失败时返回一个空
转载
2024-03-19 08:44:56
226阅读
直接使用这个宏定义会报错,说没有memory/error找不到。正确写法是:void FT_Test(){ // 必须定义这两个 FT_TS_Error error; FT_TS_Memory memory; FT_TS_MEM_ALLOC(pBuffer, size);}
原创
2022-03-10 11:17:55
344阅读
几周前,我们讨论了高级拷贝(修改于cp命令,让其可以显示复制进度条)。一位读者在注释中指出其他实用工具不仅也提供了基本的cp命令功能,而且还提供cp不具有的高级功能。所以,这篇文章里,我们将会讨论非常相似的命令行工具-gcp。gcp – 高级命令行文件拷贝器根据操作手册介绍,gcp是一款高级命令行文件拷贝工具软件,其灵感来自于标准的 cp命令, 但它提供了像进度条显示、源文件列表、拷贝过程中出现错
转载
2024-06-26 16:08:15
109阅读
有些关于C语言学习资料会整理一些C语言的头文件,今天我就看见了一些,我也把它粘写了过来,和大家一起记一下,学习学习,不断进步。标准C语言头文件ISO C标准定义的头文件(24项) <assert.h> 验证程序断言<complex.h> 支持复数算术运算<ctype.h> 字符类型<errno.h> 出错码<fenv
原创
2013-08-22 16:59:16
947阅读
头文件为相关声明提供了一个集中存放的位置。头文件一般包含类的定义,extern变量的声明和函数的声明。1.头文件用于声明而不是用于定义 当设计头文件时,记住定义和声明的区别是很重要的。定义只可以出现一次,而声明则可以出现多次。下列语句是一些定义,所以不应该放在头文件里: e...
转载
2013-06-26 13:41:00
202阅读
一个头文件内部有一个变量还有一个函数,重复包含出错怎么办? 解决办法: 1 加上static 在全局变量名前和函数定义前加上static 2 头文件放声明,源文件放定义
转载
2016-05-29 23:46:00
521阅读
2评论
我前面关于stack.c和main.c的讨论。 stack.c这个模块封装了top和stack两个变量,导出了push、 pop、 is_empty三个函数接口,已经设计得比较完善了。但是使用这个模块的每个程序文件都要写三个函数声明也是很麻烦的,假设又有一个foo.c也使用这个模块, main.c和
转载
2018-04-08 08:53:00
273阅读