
【C/C++开发】
文章平均质量分 76
C/C++
老A的AI实验室
欢迎来到「老A的AI实验室」!在这里,我们将一起踏上探索人工智能的奇妙旅程。
本博客可长期合作推广各类AI相关业务,如云计算租赁、大模型调用、AIGC培训、AI产品推广,欢迎来聊。
合作可站内私信或者关注我的微信公众号【产品老A】。
展开
-
Crt, API, STL, MFC, ATL之间的关系
https://www.douban.com/note/151994075/msvcrt.dll (名称:Microsoft C Runtime Library)提供了printf,malloc,strcpy等C语言库函数,并且为使用C/C++(Vc)编绎的程序提供了初始化(如获取命令行参数)以及退出等功能. C Runtime Library 的来历, API转载 2017-02-28 08:35:29 · 1126 阅读 · 0 评论 -
堆和栈的区别(内存和数据结构)
在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一个在程序运行时用于存放的地方,这可能是很多初学者的认识,因为我曾经就是这么想的和汇编语言中的堆栈一词混为一谈。我身边的一些编程的朋友以及在网上看帖遇到的朋友中有好多也说不清堆栈,所以我想有必要给大家分享一下我对堆栈的看法,有说的不对的地方请朋友们不吝赐教转载 2017-04-06 15:34:59 · 553 阅读 · 0 评论 -
浅谈 C++ 中的 new/delete 和 new[]/delete[]
ref:http://blog.youkuaiyun.com/hazir/article/details/21413833在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢?new 和 delete 是函数吗?new [] 和 delete [] 又是什么?什么时候用它们?你知道 operator new 和 operator delete转载 2017-04-06 14:23:28 · 249 阅读 · 0 评论 -
C++四种强制类型转换运算符
C++有四种强制类型转换符,分别是dynamic_cast,const_cast,static_cast,reinterpret_cast。1、dynamic_cast运算符该转换符用于将一个指向派生类的基类指针或引用转换为派生类的指针或引用。注意:dynamic_cast转换符只能用于含有虚函数的类,其表达式为 dynamic_cast(表达式),其中的类型是指把表达式要转载 2017-04-18 14:58:25 · 662 阅读 · 0 评论 -
C++中typename和class的区别
C++模板使用的一般规则:除了以typename修饰以外,template内的任何标识符都被视作一个值(value),而不是一个类型。在C++ Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?相信学习C++的人对class这个关键字都非常明白,class用于定义类,在模板引入c++后,最初定义模板的方法为:原创 2017-04-18 14:41:42 · 432 阅读 · 0 评论 -
C/C++中static关键字解析
C是面向过程语言,在C中,static关键字主要作用有以下三个作用:全局静态变量局部静态变量静态函数C++在C的基础上,拓展了static在面向对象设计中的作用,新增了以下两种功能:静态数据成员静态成员函数下面将一一介绍static的5种作用。1 静态全局变量静态全局变量和全局变量都作为数据共享而存在,而且都存储在全局数据区,原创 2017-04-13 21:06:05 · 424 阅读 · 0 评论 -
关于C++ const 的全面总结
转载自:http://blog.youkuaiyun.com/Eric_Jo/article/details/4138548C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一转载 2017-03-17 00:43:50 · 250 阅读 · 0 评论 -
再议深拷贝与浅拷贝
今天做了一道腾讯的笔试题,与大家一起分享一下:早在博文《浅拷贝和深拷贝的区别?》一文中就讲到要特别注意类中含有指针数据成员的情况,在对类进行拷贝操作时,如果没有在类中自己定义拷贝构造函数,编译器会自动调用默认拷贝构造函数,即把某个对象的数据成员简单的复制给另一个对象,如果类含有指针数据成员,这种简单的浅拷贝会导致两个对象的指针数据成员都指向同一片内存,只要其中一个对象操作该片内存,另一原创 2017-04-05 01:39:10 · 733 阅读 · 1 评论 -
C/C++中各类型数据所占字节数
ref:http://blog.youkuaiyun.com/lyl0625/article/details/7350045和机器字长及编译器有关系:所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): 1. sizeof(short int)<=sizeof(int) 2. sizeof(int)<=sizeof(long int)转载 2017-04-04 23:56:40 · 15698 阅读 · 0 评论 -
C/C++头文件归档
C语言标准C语言头文件 ISO C标准定义的头文件(24项) 验证程序断言 支持复数算术运算 字符类型 出错码 浮点环境 浮点常量 整型格式转换 替代关系操作符宏 实现常量 局部类别 数学常量 非局部goto 信号 可变参数表 布尔类型和值 标准转载 2017-03-16 23:08:32 · 432 阅读 · 0 评论 -
C++考点-字符串操作
from:http://www.cnblogs.com/chuncn/archive/2009/02/13/1390176.html之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,原创 2017-03-25 11:33:06 · 491 阅读 · 0 评论 -
C++考点-运算符重载
先看一个题目:在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是()。A. 无操作数的运算符B. 二元运算符C. 前缀一元运算符D. 后缀一元运算符C++运算符重载一种特殊的函数重载,重载的目的是一名多用。 根据运算符的操作数数目可以分为单目运算符和双目运算符。单目运算符只有一个操作数,如!原创 2017-03-25 01:32:42 · 1699 阅读 · 0 评论 -
小议C/C++字符串指针
首先还是来看一下C/C++中的内存分配:栈中保存着函数的参数、返回地址和局部变量,调用函数之前先将参数入栈,调用指令将函数返回地址入栈,被调用函数负责保存调用函数的相关指针,为局部变量分配空间等。Q: char*m ="hello"; *(m+1) ='s';for(;*m !='\0';m++){ printf("%c\n",*m); }运行错误,改为字符型数组可以:原创 2017-03-30 18:13:02 · 434 阅读 · 0 评论 -
C++中数组与STL中vector和array的比较
ref:http://m.blog.youkuaiyun.com/article/details?id=49848169在c++11中,STL中提拱了一个新的容器std::array,该容器在某些程度上替代了之前版本的std::vector的使用,更可以替代之前的自建数组的使用。那针对这三种不同的使用方式,先简单的做个比较:相同点:1. 三者均可以使用下表运算符对元素进行操作,即v原创 2017-03-29 18:43:32 · 25706 阅读 · 2 评论 -
C++(STL)考点--容器(stack)
栈是一种“后进先出(LIFO)”的数据结构,只能在栈顶(表尾)操作元素。栈的基本操作:1 构造函数initialize (1) explicit stack (const container_type& ctnr);move-initialize (2) explicit stack (container_type&& ctnr = container_type());原创 2017-03-27 17:00:07 · 594 阅读 · 0 评论 -
C++(STL)考点--容器(vector)
1 构造函数default (1) explicit vector (const allocator_type& alloc = allocator_type());fill (2) explicit vector (size_type n); vector (size_type n, const value_type& val, con原创 2017-03-27 15:15:04 · 604 阅读 · 0 评论 -
数据结构——简单线性表(顺序存储)
线性表的顺序存储结构指的是用一段地址连续的存储单元依次存储线性表的数据元素,譬如STL中的vector和array。STL已经封装好了基本的数据结构,我们只需直接调用即可,如果我们想实现相同功能的数据结构,可以对照STL中容器相关的结构来编写代码。下面是最简单的顺序存储结构线性表:SqList.h/* 顺序表:类似于STL中的vector和array */const int原创 2017-03-30 16:22:27 · 773 阅读 · 0 评论