c++
LX_96
热爱编程,有激情,有活力
展开
-
c++-new与malloc的区别
区别 1.malloc是C++语言的标准库函数;而new是C++语言中的操作符。 2.new返回指定类型的指针,并且可以自动计算所需空间的大小;而malloc必须要由用户自己计算所需空间大小,并在返回后强行转换为实际类型的指针。 3. malloc只管内存分配,不能对所得的内存进行初始化,其所获内存空间中上的值是随机的;而new除了分配内存处,还会对对象做初始化。 1转载 2017-08-22 17:39:20 · 558 阅读 · 0 评论 -
c++-如果变量不初始化的后果
C++不对变量初始化,可能会导致以下后果:***好像对函数中的变量不先进行初始化,下次调用后,其中的局部变量还保留着上次执行的结果!!!(codeBlocks版本,出现过此结果)*** 计算结果不正确程序逻辑与期望逻辑不一致对于使用函数指针的程序,将导致进程崩溃。写入硬盘的数据产生错误严重的可能导致系统甚至硬件出现故障。原创 2017-02-19 18:12:06 · 3146 阅读 · 0 评论 -
c++-fstream的使用
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间;在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(<<) 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<”Write Stdout”<<’/转载 2016-10-22 10:08:00 · 2842 阅读 · 0 评论 -
c++-堆与栈
一、程序的内存分配栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈。堆区(heap)一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收,注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。二、申请方式栈由系统自动分配。堆需要程序员自己申请并指明大小。三、申请后系统的响应栈:只要栈的剩余空间大于所申请空间,系统将为程序提供内存,原创 2017-08-22 19:45:49 · 413 阅读 · 0 评论 -
c++-字符串转化为整形(atoi)
c++-字符串转化为整形(atoi)atoi为库函数,坐在的头文件为#include //原型:int atoi(char *str); //用法,atoi传入的参数为字符指针,而并非string类型 #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int a;double d;原创 2017-08-23 12:16:40 · 2393 阅读 · 0 评论 -
c++-指针
指针是什么? 指针是一变量或函数的内存地址,是一个无符号整数,它是以系统寻址范围为取值范围,32位,4字节。 指针变量: 存放地址的变量。在C++中,指针变量只有有了明确的指向才有意义。 指针类型 int*ptr; // 指向int类型的指针变量 char*ptr; float*ptr; 指针的指针: char*a[]={"hello","the","world"};原创 2017-08-24 09:45:20 · 403 阅读 · 0 评论 -
c++-虚函数与纯虚函数
虚函数和纯虚函数静态联编 所谓静态联编,是指程序之间的匹配、连接在编译阶段,即程序运行之前完成,也称为早起匹配。大量的程序代码使静态联编的。例如:调用一个已经说明的函数,编译期间就能准确活得函数入口地址、返回地址和参数传递的信息,从而完成匹配。 动态联编 动态联编是指程序联编推迟到运行时进行,所以又称为晚期联编。switch语句是一个动态联编的例子程序编译阶段不能预知switch表达式的值,原创 2017-08-24 10:22:18 · 451 阅读 · 0 评论