c/c++学习笔记
文章平均质量分 58
闲逸居士
这个作者很懒,什么都没留下…
展开
-
c/c++中extern关键字的编译原理和使用
1.首先了解extern的基本定义extern 用于定义全局变量,extern 写在(变量名/函数)之前,代表可被其他文件使用,也可在其他文件里查找。 使用代码对比情形1:我们最常用的的一种外部变量的用法 将(全局变量/函数)预定义到1.h头文件里,再在对应的1.cpp文件里定义好相应的变量,和写好相应的函数。另外的文件2.cpp只需要引原创 2017-05-18 22:19:26 · 2070 阅读 · 0 评论 -
值得学习的C++项目开源(转)
值得学习的C语言开源项目1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz21...转载 2019-02-15 13:44:57 · 3554 阅读 · 0 评论 -
类型转换运算符
C++支持c风格的强制类型转换。但在c++中,推荐类型安全的转换方式。C++提供了四种用于类型转换的运算符: static_cast、dynamic_cast、reinterpret_cast、const_cast。1。static_cast : 用于在相关联的指针类型之间进行转换,也可以显式执行标准数据类型的类型转换。而它的转换时期是编译期间(故其名字中含有一个sta...转载 2018-03-21 21:28:52 · 1077 阅读 · 0 评论 -
rand()函数与srand()函数的对比与使用
1. 首先明确这rand(),srand()两个函数是在"stdlib.h"头文件里.(建议在c++里使用#include"cstdlib.h") 2. 在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。然而它是按指定顺序产生0~RAND_MAX中的随机数,故不算真正的...原创 2017-06-03 07:41:00 · 630 阅读 · 0 评论 -
C++获取系统时间,并输出
#include <time.h>#include <iostream>#include <cstdlib.h>void getTime(){ char ti[40]; time_t t = time(0); struct tm *p; p = localtime(&t); //当地时间转成结构体 ...原创 2018-03-12 15:41:01 · 2173 阅读 · 0 评论 -
c++在c基础上多出来的特性
c++新特性包括:内嵌函数,按引用传递变量,默认的参数值,函数重载(多态)以及模板函数。 1. 内嵌函数。(主要用于区别常规函数,组合方式的不同) 常规函数的调用,使程序跳到另一个地址(函数的地址),并在函数结束时返回。典型实现:执行到函数调用指令时,程序将在函数调用后立即存储该指令的内存地址,并将函数参数复制到堆栈,跳到标记函数起点的内存单元,执行函数代码,然后跳回到地址...原创 2018-03-11 21:44:52 · 630 阅读 · 0 评论 -
vector与数组的使用小结
转自郭春阳,总结一下。 vector作为数组的替代品,是相当好用的。数组有下标定位,Vector同样有定位。 1。iterator迭代器 begin(): 获取vector第一个元素的迭代器。 end():获取最后一个元素的下一个位置,就是空位置。 优点:end()在循环时方便使用,只要没到end()则可一直访问值 不必对空...转载 2018-03-16 22:21:09 · 628 阅读 · 0 评论 -
简单文件输入/输出
意义与作用较简单,不刻意说明。 1.文本IO和文本文件 刚开始是文本数据,然后,cin对象负责将文本转换为其他类型。 例:输入行是 38.5 19.2 char ch; cin >> ch; 输入行中的第一个字符被赋值给ch。这里是3,存入ch的是3对应的ASCII码值。 int n;...原创 2018-02-24 13:53:07 · 275 阅读 · 0 评论 -
数据的替代品。Vector类与array类
Vector类类似string类,也是一种动态数组。可在运行阶段设置vecotr对象的长度,可在末尾附加新数据,还可以在中间插入新数据。vector类是使用new和delete来管理内存的,但这种工作是自动完成,故我们可以类似普通数据类型一样定义。 用法: vector vi; vector vd; 优点:vector能自动调整长度,故刚开始可将长度设置为...原创 2018-02-24 11:00:17 · 456 阅读 · 0 评论 -
共用体Union
共用体(union)是一种数据格式,能存储不同的数据类型,但只能同时存储其中的一种类型。 例: union one4all { int in_val; long long_val; double double_val; }; 定义一个one4all共用体的变量pair后,pair却只能使用其中一个变量。由于共...原创 2018-02-24 10:38:01 · 232 阅读 · 0 评论 -
_I ,_O ,_IO,__IO的定义与用法
#define __I volatile /*!< defines 'read only' permissions */ #define __I volatile const /*!< defines 'read only' permissions */#define __O ...转载 2017-06-10 17:27:45 · 4412 阅读 · 0 评论 -
enum枚举型的使用
1.产生背景(产生原因):许多类型本身int,float在实际应用中并不是很好,例如:一周有7天,使用int型就不是很方便了,这时用创建一个enum枚举型,将7天定死,这样就行了。在枚举类型里把所有可能出现的值限定在该枚举类型里。 2.使用至于你们先定义再使用,还是定义使用的方法跟结构体,共用体使用方法一致就不多说明了。上图中会发现test=1会报警,而test=Lundi不原创 2017-06-20 16:41:32 · 796 阅读 · 0 评论 -
关于struct结构体内存分配的学习小结
struct结构体关于不同的定义使用方式,内存分配的方式也是不同的,我使用代码测试一下内存的分配来理解一下。#include "stdafx.h"#include struct student{int id;char *name; //使用数组,下面给name属性赋值会出现“表达式必须是可修改的左值”char sex;int age;};原创 2017-06-18 16:02:49 · 471 阅读 · 0 评论 -
两个.c文件访问同一个全局变量的用法
(1)不用头文件在file_a.c中定义一个全局变量:int flag ;在file_b.c中:extern int flag;即可。(2)利用头文件在file_a.c中定义一个全局变量:int flag;在common.h中定义:extern int flag;然后在file_b.c中包含common.h文件即可。注:file_a.c中不可包含头文件common.h。...转载 2019-09-18 16:37:02 · 2731 阅读 · 0 评论