- 博客(21)
- 资源 (30)
- 问答 (2)
- 收藏
- 关注
转载 C++虚函数的实现机制
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的
2012-09-18 17:31:58
456
原创 汇编学习<1>
一 汇编使用的领域 要求执行效率高,反应快的领域,如:操作系统,工业控制,实时系统 系统性能的瓶颈,或频繁使用子程序或程序段 与硬件资源密切相关的软件开发,如:设备驱动程序等 受存储容量限制的应用领域,如:家用电器的计算机控制功能 没有适当的高级语言开发环境。二 基本的数据类型 汇编语言所用到的基本类型为:字节,字,双字等。 1.字节:
2012-09-16 16:41:09
320
原创 C++文件操作<5>
#include #include #include #include using namespace std;class A{ char name[20]; int age; public: A(){} A(const char* name,int age) { this->age =age;
2012-09-16 15:50:35
339
转载 C++中格式控制
转至:http://www.cnblogs.com/wonderow/archive/2005/06/21/178719.htmlC++中格式控制格式控制在前面,输入/输出的数据没有指定格式,它们都按缺省的格式输入/输出。然而,有时需要对数据格式进行控制。这时需利用ios类中定义的格式控制成员函数,通过调用它们来完成格式的设置。ios类的格式控制函数如下所示:
2012-09-16 02:02:41
518
原创 c++I/O操作
#include #include using namespace std;int main(){ ifstream fin("a.txt");//里面是C风格字符串。如果你是string类型。则要调用c_str()成员函数转成c风格字符串。 if(!fin) { cout<<"error!"<<endl; r
2012-09-15 17:36:01
1254
原创 c++IO操作<2>
/* 下面几种情况导致缓冲区里的内容被刷新: (1) 程序正常结束。 (2) 缓冲区满。 (3) 用操作符显示刷新缓冲区,例如行结束符endl (4) 在每次输出操作执行完后,用unitbuf操作符设置流的内部状态,从而清空缓冲区 (5) 将输入流和输出流关联起来。在这种情况下,在读输入流时将刷新其关联的输出缓冲区 这里要注意一
2012-09-15 14:50:11
268
原创 C++文件操作<1>
#include #include #include using namespace std;/* strm::iostate 机器相关的整形名,由各个类定义,用来定义条件状态。 strm是ios,ifstream,ofstream strm::badbit strm::iostate类型的值,用于指出被破坏的流,标志着系统级的故障,如无法恢复的读写错误。
2012-09-15 12:19:33
352
原创 c文件操作<3>
#include #include #include int main(){ FILE* fp = fopen("b.txt","w"); if(fp == NULL)perror(""),exit(-1); FILE* fp2 = fopen("b.txt","r"); char buf[6] = "hello"; int fd
2012-09-14 01:16:38
507
转载 linux下write操作原理、错误原因及处理方法
转至:http://blog.youkuaiyun.com/chenlilong84/article/details/7850741 1. write函数介绍(1)文件I/O与标准I/O之争:根据《UNIX环境高级编程》中介绍,文件I/O与标准I/O之间的差别主要有以下几点:其一,文件I/O是在系统的内核中实现的,而标准I/O函数则提供了文件I/O函数的一个完整的带缓冲的替代品。因此说,文件I
2012-09-14 01:06:27
617
原创 c文件操作<2>
#include #include int main(){ FILE* fp = fopen("b.txt","w"); if(fp == NULL)perror(""),exit(-1); FILE* fp2 = fopen("b.txt","r"); char buf[6] = "hello"; fwrite(buf,str
2012-09-14 00:49:18
599
原创 c文件操作<1>
#include #include int main(){ FILE* fp = fopen("a.txt","w"); FILE*fp1 = fopen("b.txt","a+"); FILE*fp2 = fopen("b.txt","r"); if(fp1==NULL) perror(""),exit(-1); /*
2012-09-14 00:15:02
550
原创 case语句
#!/bin/bashread varcase $var inyes) echo yes;;no) echo no;;*) echo default;esacread var1case $var1 inyes|y|Yes|YES)echo OK;;n*|N*) echo No;;*) echo otheresacread var2
2012-09-13 16:48:18
244
转载 输出当前时间
转至:http://blog.youkuaiyun.com/eyas_wing/article/details/7006018 time_t time ( time_t * timer );获取当前时间;time_t 是long int类型timer 指向 存储计时起始时间的指针 ,返回的time_t就是从timer开始计的,单位是秒.当timer==NULL时候,是从库指定的起始计时
2012-09-13 00:58:04
332
原创 字符串压缩
实现功能: "aaabbbccddef"="3a2b2c2def"#include #include #include void compress(char *str){ if(str==NULL)printf("error\n"),exit(-1); char*i,*j; int k; i=j=str; char str1[
2012-09-12 16:26:50
276
原创 寻找马鞍点
马鞍点,一个元素在一个数组里面在行里为最大值,而在该列里是最小值。#include #include int main(){ int a[50][50]; FILE* fp = fopen("C++__A/three.dat","r"); if(fp==NULL) perror("file open failed;\n"),exit(-1); for(int
2012-09-12 15:03:17
1236
原创 矩阵相乘
#include #include int main(){ double a[9][8]; double b[8][9]; double c[9][9]={0}; FILE* fp = fopen("C++__A/two.dat","rb"); if(fp==NULL) perror("file open failed;\n"),exit(-1); for
2012-09-12 14:56:52
216
原创 运算符操作
#!/bin/bashvar=1243echo ${#var} #4#求变量内容的长度declare -i var1=12345echo ${#var1} #5echo ${var3:-var} #varecho ${var3:= ${var}} #1243,创建变量echo $var3 #1243#=变量不存在,则返回=后面的值,并且创建变量#
2012-09-12 00:24:27
224
原创 简单的数值操作
#!/bin/bashdeclare -i num=109echo ----------------------------let num++echo $numecho -----------------------------((num++))echo $numecho -----------------------------echo $[num++]
2012-09-12 00:11:22
182
原创 数组操作
#!/bin/bash#这是第一种方法echo ---------------------array[1]=20echo ${array[1]}#这是第二种方法echo ---------------------declare -a array1array1[1]=30echo ${array1[1]}#这是第三种方法echo -------------
2012-09-12 00:08:57
191
原创 特殊变量
#!/bin/bashecho $*#位置参数,从1开始。echo $@#位置参数,从1开始。当在双引号里展开时,每个参数展开成独立的词echo $##位置参数个数echo $?#展开成最近执行的前台管道程序的退出状态echo $$#shell的进程IDecho $!#展开成最近在后台(异步)执行的命令的进程IDecho $0#展开成sh
2012-09-11 23:56:39
344
原创 变量
#!/bin/bashvar=10echo ${var}echo $vardeclare -r varvar=20#这里会报错,说var是只读变量。declare -x etcetc='var'echo ${etc}echo -----------------------------------declare -i shortshort=
2012-09-11 23:48:53
198
From C++ to Objective-C
2014-03-05
HID ReadFile() 读取出现较高延迟
2017-07-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人