- 博客(20)
- 收藏
- 关注
转载 变量存储方式
栈区:由编译器自动分配释放,存放函数的参数值,局部变量的值等堆区:由程序员分配和释放,如程序员不释放,程序结束时可能由OS回收全局区(静态区):全局变量和静态变量的存储是放在一起的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和静态变脸给的存储在相邻的另一块区域。int a = 0; //全局初始化区, 可以被其他c文件 extern 引用satatic int ss = 0; //...
2018-03-30 14:58:15 339
原创 C++与C中的结构体及class直接的区别(C中没class)
1、class与struct的区别:a、成员访问权限:class的成员访问权限为private,struct的成员访问权限为publicb、默认的继承方式:class的默认继承方式为private,struct的默认继承方式为public2、struct在C和C++之间的区别a、C中,struct是用户自定义的数据类型,而在C++中,struct是抽象数据类型,支持成员定义函数b、C中的struc...
2018-03-26 21:28:43 420
原创 C++易出错点之抽象类
抽象类是指含有纯虚函数的类,该类不能建立对象,只能声明指针和引用,用于基础类的借口声明和运行时的多态,如果抽象类的某个派生类再向继承类体系的跟回溯过程中,并不是所有的纯虚函数都实现了,那么该类也是抽象类...
2018-03-26 21:05:45 221
转载 static_cast和dynamic_cast,静态类型转换和动态类型转换的区别
说起C++中的继承、多态、虚函数等概念,可能很多同学都有所了解,但是要说真正熟知的同学可能就不是很多了。最近在编程过程中了解到C++类型的层次转换(这就涉及到了多态和继承的相关概率),通常C语言中可以对内置类型进行强制转换,但是这样做不是很安全,在C++标准中,提供了关于类型层次转换中的两个关键字static_cast和dynamic_cast。一、static_cast关键字(编译时类型检查)用...
2018-03-26 21:02:18 1101
原创 C++易错点之模板函数
//一、普通模板函数//1、模板函数的申明和定义template<typename T>int compare(const T& left,const T& right){ if(left<right) { return -1; } else return 1;}//1、模板函数的调用方式compare<int&g...
2018-03-26 20:51:50 223
转载 线程和进程的联系与区别
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。在多线程OS中,线程是能独立运行的基本单位,因而...
2018-03-26 10:18:12 138
原创 C++容易出错的点
1、c风格字符串的两种形式:1、char a[] = {'a', 'b','v', '\0'}; 手动添加结束符‘\0’2、char a[] = "abv"; 默认添加'\0'2、sizeof 返回的值表示的含义如下(单位字节): 数组 —— 编译时分配的数组空间大小; 指针 —— 存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,应该为 4 ); 类型 —— ...
2018-03-25 19:12:34 325
翻译 结构体占用内存的大小及二维数组如何索引更快
在x86系统下,sizeof如下结构体的值是多少?12345struct{ char a[10];int b;short c[3];}偏移量必须为其类型的整数倍,结构体大小必须是所有成员大小的整数倍 char 偏移量0,地址0-9 int 偏移量10不是sizeof(int)的倍数,故而修正为12,地址12-15 short 偏移量16,地址16-21 结构题大小22不是1,...
2018-03-25 11:15:48 487
转载 虚函数
函数重载只会发生在同一个类中,函数名相同,只能通过参数类型,参数个数或者有无const来区分。不能通过返回值类型区分,而且virtual也是可有可无的,即虚函数和普通函数在同一类中也可以构成函数重载。基类和派生类中只能是隐藏或者覆盖。1)隐藏是指派生类中有函数与基类中函数同名,但是没有构成虚函数覆盖,就是隐藏。 隐藏的表现:若基类中函数func()被派生类中函数func()隐藏,那么无法通...
2018-03-24 12:41:43 225 1
转载 使用两个栈实现队列的pop和push功能
class Solution{public: void push(int node) { stack1.push(node); } int pop() { int res; if (stack2.size() > 0) { res = stack2.top(); sta...
2018-03-23 15:15:31 499
转载 C++二叉堆排序
#include <iostream>using namespace std;int arrs[] = { 23, 65, 12, 3, 8, 76, 345, 90, 21, 75, 34, 61 };int arrLen = sizeof(arrs) / sizeof(arrs[0]);void adjustHeap(int * arrs, int p, int len...
2018-03-23 14:47:36 243
原创 虚拟机下安装hadoop教程
hadoop下载链接:http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gzJDK1.8下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmljava安装教程tar ...
2018-03-21 09:51:10 1638
原创 ubuntu配置ssh免密码登录方式
1、安装ssh server: sudo apt-get install openssh-server,如果安装提示有错:则重新安装,先进行命令:sudo apt-get upgrade2、cd ~/.ssh/ ssh-keygen -t rsa cat id_rsa.pub>>authorized_keys cp ~/.ssh/id_rsa.pub ~/.s...
2018-03-20 18:40:30 1755
原创 stack STL的基本用法
#include<stack>#include<iostream>using namespace std;int main(){ stack<int> a; a.push(2);//将数字2压入栈中; int b=a.top();//访问栈顶; a.pop();//栈顶的元素出栈; cout<<a.size()<&...
2018-03-19 10:32:53 215
原创 C++中vector使用时应注意的问题
1、vector作为函数的参数或者返回值时,使用的是引用形式,例如:bool function(vector<int>&a)。2、vector<int>a,a.push_back(1),a.push_back(2);push_back将数据存入vector中;a.pop_back(),删除末尾元素;a.front(),访问第一个元素;a.back(),访问最后一个元...
2018-03-18 20:01:46 440
原创 2018网易游戏实习生招聘测试题第一题
1、输入会话的个数,比如3。2、接下来输入每个会话的消息个数,比如3,5,6。3、按先后次序进行输出。测试用例输入:331 2 351 100 1000 100 161 2 2 3 4 5输出:3 2 11 100 10005 4 3 2 1#include<iostream>#include<vector>using namespace std;int main(){ ...
2018-03-18 17:47:50 1046
原创 shell下遍历文件
#!/bin/bashecho helle world #echo 是输出语句path=`/home/gate/` #" ` "不是单引号,是tab上面的那个键for file in $pathdo echo $filedone
2018-03-08 12:45:55 438
原创 利用前序遍历和中序遍历重建二叉树
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {publi...
2018-03-07 19:16:21 250
原创 快速排序算法
程序源代码如下 #include<iostream>int partion(int a[], int start, int end) { int left = start; int right = end; int standard = a[left]; while (left < right) { while (left < right&&a[righ...
2018-03-07 13:34:28 194
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人