随笔分类 - C++基础知识
摘要:前言文件流能够从文件系统中读取数据并向文件中写入数据。 文件输入流适用于读取配置数据、读取保存的文件以及批处理基于文件的数据等任务。Fprintf,fwrite,fputs 文件输出流适用于保存状态数据和提供输出等任务。Fscanf/fread/fgets.文件打开需要在文件中包含fstream ...
阅读全文
摘要:前言上一章节简单介绍c++中关于流的概念,这两章节将重点讲解如何使用,本章讲解控制台流和字符串流。控制台输出流输出流定义在头文件中,使用输出流最简单的方法就是 使用>运算符根据空白符对输入值标志化,遇见空格符,后面的无法输入。如果用户输入hello there,输入的为hello。 char s...
阅读全文
摘要:前言在程序经常实现数据的输入和输出,c++通过一种称为流(stream)的机制提供了更为精良的输入和输出方法。流是一种灵活且面向对象的I/o方法。 根据操作对象不同分为文件流、字符串流、控制台流。控制台流我们所熟悉的输入输出操作分别是由istream(输入流)和ostream(输出流)这两个类提供的...
阅读全文
摘要:友元函数介绍在程序设计中,加入类A想访问类B中的私有成员和私有函数时,为了保持程序的封装性,又让其有共享性,就用到了友元类和友元函数。友元类class A{ friend class B ;public : void Display() { cout a = a; th...
阅读全文
摘要:引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。一、引用简介 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 &引用名=目标变量名; 【例1】:int a; int &ra=a; ...
阅读全文
摘要:- const加强在变量前加const,说明变量是常量只读属性。假如用指针去修改const常量会用什么结果。上例子://a 是一个只读的常量,按照理论应该不能被修改 const int a = 10;//内存中为a分配地址,赋值 printf("sssss:&a:%d", &a); ...
阅读全文
摘要:结构体的认识结构体的定义 将不同数据类型的数据对象组织在一起。结构体在c中和C++不同 在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数。C中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中数据结构和算法是分离的,而到C++中一类或者一个结构体可以包...
阅读全文
摘要:数组的本质上一章节讲过了指针,那么数组是什么,数据类型是什么,为什么数组做函数参数的时候会退化为指针,怎么理解。 先看一段代码:int i,*p,a[] = {3,4,5,6,79};p= a;for (i=0;iusing namespace std;int main(){int c[4]={1,...
阅读全文
摘要:综述指针在c++学习中一直是难点和重点,由于在项目中指针应用比较灵活,所以指针所引发的问题比较多,最近针对指针进行重点学习。有人说,掌握指针,也就掌握c语言的精髓。c++中当然也有指针,同时还包括继承、多态等等。内存四区没有内存,就没有指针,在理解指针的开始阶段,先重点讲解内存五区。 如上图所示:...
阅读全文
摘要:1、什么是回调函数。软件模块之间通信、调用总有一定的机制,从调用方式上可以分为:同步调用、异步调用和回调。同步调用的一种阻塞调用,调用方必须等待被调用方执行完毕后,才能继续执行,所以造成在执行效率的低下。异步调用是一种类似消息或者事件机制,不过它的调用方向相反,接口的服务在收到某种信息后或者发生某种...
阅读全文
摘要:struct--------构造函数对结构体初始化的影响。没有构造函数时使用如下:struct ClassBook{int number;int age;};int main(){//以下两方式都对ClassBook bookst={1005,10};//或者ClassBook bookst;boo...
阅读全文
摘要:关于C++动态库导出API相关的这几个关键字,一直困扰了许久,每次在调用C++动态库接口函数的时候,我都不得不花一些时间去“试”。但是用过之后就忘了……首先解释一下 _cdecl 和 __stdcall所代表的意义:Cdecl:调用方清理堆栈。这使您能够调用具有 varargs 的函数(如 Prin...
阅读全文
摘要:在C++程序中存在着多种的数据类型的转化,在数据中常用的数据类型包括:常量int double float long;字符 CString char char[] char*等之间存在着多种转化。常量:int double float long 与CString之前转化CString>常量在转换中常...
阅读全文
摘要:1.SetTimer:在控制台应用程序中同样可以用SetTimer实现定时器的效果。示例代码:#include#includeusing namespace std;void CALLBACK TimeProc( HWND hwnd, UINT message, ...
阅读全文
摘要:在很多读取文件时候,函数输入多为const char *类型,我们在定义path时候多为Cstring类型的字符串变量,所以这里牵涉到CString到 const char *转化,下面进入正题。上传代码:CString strMsg,strDate;CString strpath="C:\\Doc...
阅读全文
摘要:在数组初始化中包括数组的定义,数组的初始化,数组赋值,有的人在编程序时候经常会用到for循环,有时候那样是多余的。例如:char[1000]={0};一位申请一个大小为1000字节的数组,第一个值为0,并不是所有的值为0,但是数组中其他元素没有赋值,系统会自动赋值为0,所以最终结果就是实现初始化了一...
阅读全文
摘要:关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。经常在网络上看到有的XDJM问“多进程好还是多线程好?”、“Linux下用多进程还是多线程?...
阅读全文