- 博客(36)
- 收藏
- 关注
原创 程序渣自学一些心得_读书和学习
如何读书?http://blog.csdn.net/dd864140130/article/details/54991817读什莫书?===c/c++程序员http://m.blog.csdn.net/lushuner/article/details/24733157如何自学? http://www.360doc.cn/mip/428686439.html
2017-06-26 22:59:33
313
转载 无线网络
lan,wan,wlan,2g,3g,4g,(5g??----华为)1.2g,3g,4g无线接入网:负责接收用户终端的无线信号,由此接入到通信网络;核心网:对用户数据的管理及具体业务处理,并作为承载网络提供到外部网络的接口。一、GSM网络结构(2G)通常,我们所说的2G网络指的就是基于GSM的网络,它的结构主要由四部分构成:移动台MS(Mobile Station),它
2017-06-26 14:33:25
799
转载 为什么 C++ 中成员函数指针是 16 字节?
为什么 C++中成员函数指针是 16 字节?当我们讨论指针时,通常假设它是一种可以用 void * 指针来表示的东西,在 x86_64 平台下是 8 个字节大小。例如,下面是来自 维基百科中关于 x86_64 的文章 的摘录:Pushes and pops on the stack are always in 8-byte strides, and pointers are 8
2017-06-08 00:00:33
326
转载 struct的赋值技巧
为了方便后面的介绍,先定义一个struct类型: struct User { int id; //id char name[100]; //user name char *home; //homedirectory int
2017-06-07 23:59:45
13038
1
转载 c++类型转换dynamic_cast
dynamic_cast:http://www.cnblogs.com/ider/archive/2011/08/01/cpp_cast_operator_part5.html
2017-06-07 23:57:07
197
原创 表达式计算栈实现
//逆波兰表达不需要使用括号//////#include //#include //#define max 100 //char ex[max]; //// //void trans() {// char str[max]; // char stack[max];// char ch; // int sum, i
2017-06-04 20:57:31
265
原创 c_SeqList
//顺序表,栈上分配静态*****//凡是有关设计_size的数据都需要一个辅助变量来帮忙,保证数据安全#include <stdio.h>#include <string.h>#include <stdlib.h>#include <assert.h>#define MAX_SIZE 10typedef int DAtatType;typedef struct SeqList{
2017-05-03 01:38:30
896
转载 虚函数,虚继承与虚函数表
c++实现多态机制 :模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议1]虚函数==〉带有virtue关键字的函数,并且不带有=0标志的2]虚继承带有virtual关键字的继承,基类被称为虚基类,会在自己对象的实例中产生虚基类指针虚函数与菱形继承的问题:1]当发生继承时,如果派生类重写了基类的虚函数,那么派生类的对象中会修改
2017-04-29 16:00:47
367
原创 创建进程的两种方式
fork:#include <sys/types.h>#include <unistd.h>#include <sys/stat.h>#include <fcntl.h>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <signal.h>#include <errno.h>#include <signal
2017-04-23 20:16:35
345
原创 linux下的进程创建
1]Linux内核中的进程状态 运行状态(TASK_RUNNING) 可中断睡眠状态(TASK_INTERRUPTIBLE) 不可中断睡眠状态(TASK_UNINTERRUPTIBLE) 暂停状态(TASK_STOPPED) 僵死状态(TASK_ZOMBIE)2]写时复制copy on write===〉fork 如果多个进程要读取它们自己的那部分资
2017-04-23 20:10:53
269
原创 c++类型转换
为什莫要使用c++的类型转换===〉1]提供类型检查,并抛出异常2]由于分门别类的进行转换使在出现转换错误时很容易就可以定位出错位置4种类型转换:static_cast===〉基本的强制类型转换任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast;reinterpret_cast通常为运算对象的位模式提供较低层次上的重新解释。注:1、在指针之间转换,
2017-04-22 22:35:44
276
转载 类型萃取
第一部分 为什么要有萃取技术既然是一种智能指针,iterator也要对一个原生指针进行封装,而问题就源于此,当我们需要这个原生指针所指对象的类型的时候(例如声明变量),怎么办呢?Case1 对于函数的局部变量这种情况我们可以采用模版的参数推导,例如:template void func(T iter)如果T是某个指向特定对象的指针,那么在func中需要指针所指向对象类型的变量的时候,怎么办呢?这个
2017-04-22 22:14:49
183
原创 多继承与多重继承
什莫是多继承?一个类拥有两个或者两个以上的父类什莫是多重继承?一个类不仅仅有父类还有祖父类什莫是虚继承?虚继承是为了解决多继承的问题.经过这样的声明后,当基类通过多条派生路径被一个派生类继承时,该派生类只继承该基类一次,也就是说,基类成员只保留一次。 菱形继承:以往,在派生类的构造函数中只需负责对其直接基类初始化,再由其直接基类负责对间接基类初始化。现在,由于虚基类在派生类中只有一份数
2017-04-22 17:35:59
1286
原创 进程的基本概念
1]进程的基本概念:从用户的角度来看进程是程序的一次执行过程从操作系统的核心来看,进程是操作系统分配的内存、CPU时间片等资源的基本单位。进程是资源分配的最小单位每一个进程都有自己独立的地址空间与执行状态。像UNIX这样的多任务操作系统能够让许多程序同时运行,每一个运行着的程序就构成了一个进程2]进程的静态描述:由三部分组成:PCB、有关程序段和该程序段对其进行操作的数据结构集。进程
2017-04-22 16:24:34
454
原创 linux_基础概念
1.基本概念语言的更替:机器语言,汇编语言,c语言,c++/java,go/python2.gnu计划![这里写图片描述](http://img.blog.csdn.net/20170422155647132?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VuZzk2MDkyMA==/font/5a6L5L2T/fontsize/400/fill
2017-04-22 16:09:08
266
原创 递归分治
汉诺塔问题:步骤1:将圆盘1~n-1从A移动到B步骤2:单独把圆盘n从from移动到to步骤3:把圆盘1~n-1从B移动到C结束条件:圆盘只有1个,直接把这个圆盘从A移动到C即可代码如下:void Hanoi(int n){ void Process(int n, char from, char mid, char to); if (n <= 0) re
2017-04-22 12:46:38
361
原创 继承与多态
#include <iostream>using namespace std;class HeroFighter{public: virtual int power() //C++会对这个函数特殊处理 { return 10; }};class EnemyFighter{public: int attack() {
2017-04-22 12:33:15
186
原创 c++_电话薄
编写C++程序完成以下功能:(1) 实现简单电话本功能,用姓名来搜索电话号码;(2) 用户输入姓名,程序查找并输出结果;(3) 用户可以通过输入,添加姓名和电话号码;(4) 用户可以删除姓名和电话号码;(5) 电话本可以保存在指定文件中;(6) 电话可被从指定文件中读入到内存。#include<iostream>#include<fstream>#include<stdio.h>
2017-04-22 12:25:03
2544
原创 接口与继承
#include<iostream>#define PI 3.1415using namespace std;class Shape{ public: Shape() {cout<<"调用构造函数Shape"<<endl;} ~Shape() {cout<<"调用析构函数Shape"<<endl;} virtual double Girth()=0
2017-04-22 12:17:16
211
原创 继承
编写C++程序完成以下功能:(1) 声明一个基类Shape(形状),其中包含一个方法来计算面积;(2) 从Shape派生两个类矩形和圆形;(3) 从矩形派生正方形;(4) 分别实现派生类构造函数、析构函数和其他方法;(5) 创建派生类的对象,观察构造函数、析构函数调用次序;(6) 不同对象计算面积。#include<iostream>#define PI 3.1415using na
2017-04-22 12:12:58
397
原创 c_简单的文件加解密
#include <stdio.h>#include <string.h>int main01(void)//写文件{ char s[1024] = { 0 }; FILE *p = fopen("D:\\temp\\a.txt", "w");//用写的方式打开一个文件 //"w"意思就是如果文件不存在,就建立一个人间,如果文件存在就覆盖 while(1)
2017-04-22 12:04:40
274
原创 重写,重载,重定义
“` 1 成员函数重载特征: a 相同的范围(在同一个类中) b 函数名字相同,返回值相同 c 参数不同 d virtual关键字可有可无 2 重写(覆盖)是指派生类函数覆盖基类函数,特征是: a 不同的范围,分别位于基类和派生类中 b 函数的名字相同 c 参数相同 d 基类函数必须有virtual关键字 3 重定义(隐藏)是指派
2017-04-22 11:56:43
177
原创 malloc/free_new,delete
malloc/free和new/delete的区别和联系?动态管理内存 malloc/free是C/c++的函数,new/delete是C++操作符。 malloc/free只是动态分配内存空间/释放空间。而new/delete除了分配空间还会调用构造函数和析构函数进行初始化与清理(清理成员)。 malloc/free需要手动计算类型大小且返回值会void*,在使用时需要进行强制类型转换,ne
2017-04-22 11:43:04
141
翻译 c_list_面试常考操作
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>typedef int DataType; typedef struct LinkNode{ DataType _data; struct LinkNode *_next;}LinkNode, *pLinkNode;pLin
2017-04-19 18:13:38
241
转载 如何在vs下linux下检测内存泄露
1、内存泄漏简介2、Windows平台下的内存泄漏检测2.1、检测是否存在内存泄漏问题2.2、定位具体的内存泄漏地方3、Linux平台下的内存泄漏检测 4、总结其实Windows、Linux下面的内存检测都可以单独开篇详细介绍,方法和工具也远远不止文中介绍到的,我的方法也不是最优的,如果您有更好的方法,也请您告诉我和大家。1、内存泄漏简介及后果wikip
2017-04-19 15:37:51
646
转载 git的基本使用
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够
2017-04-19 15:23:53
311
原创 智能指针的简单实现
share_ptr运用对每一个对象进行计数,从而防止资源泄露auto_ptr:template<class T>class AutoPtr{public: AutoPtr(T* ptr) :_ptr(ptr) {} ~AutoPtr() { if (_ptr) { cout << "de
2017-04-19 15:19:56
321
原创 c_位运算及习题
运算符& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1~取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0<< 左移 用来将一个数的各二进制位全部左移N位,右补0>> 右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃
2017-04-19 09:01:00
452
原创 自写string类的构造函数进化史
string.h 浅拷贝: class String { public: String(const char* pStr = “”) :_pStr(new char[strlen(pStr)+1]) { if(0 == *pStr) { *_pStr = ‘\0’; }
2017-04-19 08:36:38
240
原创 date类实现操作符重载
日期类对操作符重载巩固data.h#ifndef _data_h#define _data_hclass Date{private: int _year; int _month; int _day;public: //默认成员函数 Date(int year = 1900, int month = 1, int day = 1);//缺省构造函数
2017-04-17 21:01:48
469
原创 complex
/* 文件名:complex.c实现平台:vs2015编码风格参考:<<高质量c++编程>>windows风格*/#include<iostream>#include <iostream>using namespace std;class Complex{public: Complex(double real, double imaginary); Complex(
2017-04-17 20:16:31
523
原创 SeqQueue
注意由于模板的二次编译,最好让其实现放在头文件中,第一次编译在编译期就确定下来;SeqQueue.htemplate class SeqQueue{public:SeqQueue(int sz) :m_nrear(0), m_nfront(0), m_ncount(0), m_nMaxSize(sz){m_pelements = new Type[sz];if
2017-04-15 21:49:58
1342
原创 vs基本快捷键
vs操作:1.查看变量在内存中的分布ctrl+alt+m2.查看反汇编ctrl+alt+d3.查看寄存器ctrl+alt+g4.新建项目shift+alt+n5.新建文件shift+alt+a6.与字母组合的alt键删除一整行:光标操作ctrl+l复制一整行:光标操作ctrl+c剪切一整行:光标操作ctrl+x7.撤销和反撤销ctrl
2017-04-15 18:37:07
246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人