C/C++
文章平均质量分 65
回龙观码农
这个作者很懒,什么都没留下…
展开
-
Energy Conversion
Energy ConversionProblem Description 魔法师百小度也有遇到难题的时候—— 现在,百小度正在一个古老的石门面前,石门上有一段古老的魔法文字,读懂这种魔法文字需要耗费大量的能量和大量的脑力。 过了许久,百小度终于读懂魔法文字的含义:石门里面有一个石盘,魔法师需要通过魔法将这个石盘旋转X度,以使上面的刻纹与天相对应,才能打开石门。原创 2014-05-18 10:21:48 · 630 阅读 · 0 评论 -
sizeof vs strlen
一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof来返回类型以及静态分配的对象、结构或数组所占的空间,原创 2014-05-19 15:58:40 · 372 阅读 · 0 评论 -
new和delete运delete和delete[]&nb…
new和delete运算符用于动态分配和撤销内存的运算符new用法: 1. 开辟单变量地址空间 1)new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a= new int 即为将一个int类型的地址赋值给整型指针a. 2)int *a = new int(5原创 2014-05-19 15:58:42 · 512 阅读 · 0 评论 -
拷贝构造函数(转载)
转载自:lwbeyond转载 2014-08-10 14:13:31 · 420 阅读 · 0 评论 -
虚函数
在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数原创 2014-08-10 20:24:56 · 541 阅读 · 0 评论 -
c++抽象类
抽象类 纯虚函数(pure virtual function)是指被标明为不具体实现 的虚拟成员函数。它用于这样的情况:定义一个基类时,会遇到无法 定义基类中虚函数的具体实现,其实现依赖于不同的派生类。定义 纯虚函数的一般格式为: virtual 返回类型 函数名(参数表)=0; 含有纯虚函数的基类是不能用来定义对象的。纯虚函数没有实现 部分,不能产生对象,所以原创 2014-08-10 20:36:40 · 596 阅读 · 0 评论 -
C++虚函数
1.在一般情况下,指向一种类型对象的指针不允许指向另一种类型的对象,然而指向基类对象的指针可以指向该基类的共有派生类对象(反过来不成立),这是运行时,多态的基础。指向基类队象的指针指向派生类对象后,可以访问派生类中有基类继承下来的成员,但不能访问那些派生类对象自己增加的成员。2.一个含有虚函数的类称为多态类。3.虚函数就是在一个类中用virtual定义的成员函数。基类的虚函数在派生类中仍是原创 2014-05-29 02:14:46 · 1366 阅读 · 0 评论 -
虚基类
虚基类的产生: c++中,一个类不能多次说明为一个派生原创 2014-08-10 15:06:42 · 615 阅读 · 0 评论 -
C++ 虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。转载 2014-08-10 19:59:59 · 430 阅读 · 0 评论 -
虚函数与构造函数,析构函数的关系
构造函数不能为虚函数,而析构函数可以为虚函数;若析构函数原创 2014-08-10 22:13:13 · 696 阅读 · 0 评论 -
指针和引用的分别
指针和引用有什么分别;如果传引用比传指针安全,为什么?如果我使用常量指针难道不行吗?(1) 引用在创建的同时必须初始化,即引用到一个有效的对象;而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋值.(2) 不存在NULL引用,引用必须与合法的存储单元关联;而指针则可以是NULL.(3) 引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用;而指针在任何原创 2014-08-09 22:08:49 · 514 阅读 · 0 评论 -
非递归的快速排序算法
void qsort2(int a[],int low ,int high){ stack st; if (low int mid =partition(a,low,high); if (low st.push(low); st.push(mid-1); }原创 2014-08-23 20:49:24 · 591 阅读 · 0 评论 -
c++ pair
Pair类型概述pair是一种模板类型,其中包含两个数据值,两个数据的类型可以不同,基本的定义如下: pair a;表示a中有两个类型,第一个元素是int型的,第二个元素是string类型的,如果创建pair的时候没有对其进行初始化,则调用默认构造函数对其初始化。 pair a("James", "Joy");也可以像上面一样在定义的时候直接转载 2014-10-25 13:30:35 · 499 阅读 · 0 评论 -
c++中 类的相关事项(1)
1.类中 只有静态成员(函数)可以用类直接显示的调用2.类中 静态成员变量static 在类外 必须重新声明并且初始化(只有这时才能给静态成员变量分配内存)3.类中 数据成员在声明时不允许使用表达式进行初始化;4.类中 类中数据成员在声明时,不允许使用auto,register,extern进行修饰5.常量成员函数可以改变局部变量和全局变量的值,但不允许修改本类中数据成员的值。(常成员函数原创 2014-05-19 15:58:18 · 445 阅读 · 0 评论 -
extern 的实用方法
extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。1. 在源文件A里定义的函数,在其它源文件里是看不见的(即不能访问)。为了在源文件B里能调 用这个函数,应该在B的头部加上一个外部声明:extern 函数原型; 这样,在源文件B里也可以调用那个函原创 2014-05-19 15:58:25 · 471 阅读 · 0 评论 -
strlen sizeoflengthsize
#include #include using namespace std; int main() { char a[100]="i love you"; cout cout char b[]="i love you"; cout cout cout string aa="i love youi原创 2014-05-18 19:45:35 · 467 阅读 · 0 评论 -
gcc vs g++
1,后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的,例如:2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程原创 2014-05-18 16:34:57 · 626 阅读 · 0 评论 -
2014华为实习上级笔试题——三天打鱼两天晒网
#include using namespace std; int func(int year)//判断闰年的个数 { int count=0; for(int i=1990;i if(year%4==0&&year%100!=0||year%400==0) count++; return cou原创 2014-05-18 19:38:56 · 1393 阅读 · 0 评论 -
百度笔试题目
假定有20个有序数组,每个数组有500个数字,数字类型32位uint数值,现在需要取出这10000个数字中最大的500个,怎么做? 思路:20个有序数组,不妨设数序为降序。首先把20个数组中最大的(也就是a[i][0])进行大堆排序,输出堆顶元素(最大),在输出的那个元素之前所在的数组中,取下一个元素,放到堆顶,然后进行堆排序,在输出堆顶元素,依次循环输出500个即可。(输出最小的500,原创 2014-05-18 00:23:03 · 528 阅读 · 0 评论 -
复数运算
#include #include using namespace std; struct node { int shi; int xu; int data; }; int main() { int shinum=0; int xunum=0; int n; cin>>n; node*num=ne原创 2014-05-18 19:31:27 · 950 阅读 · 0 评论 -
c++中 类的相关事项(1)
1.类中 只有静态成员(函数)可以用类直接显示的调用2.类中 静态成员变量static 在类外 必须重新声明并且初始化(只有这时才能给静态成员变量分配内存)3.类中 数据成员在声明时不允许使用表达式进行初始化;4.类中 类中数据成员在声明时,不允许使用auto,register,extern进行修饰5.常量成员函数可以改变局部变量和全局变量的值,但不允许修改本类中数据成员的值。(常原创 2014-05-17 23:39:14 · 503 阅读 · 0 评论 -
大整数相乘
#include#include#includeusing namespace std;struct BigInt {int length;int degist[10000];};BigInt a,b,c;int main (){char str[1000];int i,j;coutcin>>str;a.l原创 2014-05-18 00:30:19 · 426 阅读 · 0 评论 -
C++ 简单选择排序
简单选择排序是一种不稳定的排序算法,复杂度为n^2#includeusing namespace std;void s_selsort(int a[],int n){ int temp,temp2;for(int i=0;i{ temp=i; for(int j=i+1;j if(a[temp]>a[j]) temp原创 2014-05-17 23:45:51 · 507 阅读 · 0 评论 -
字符串四则运算
#include//中缀表达式求值 #include using namespace std; int precede(char t1,char t2) //shuru//判断优先级 { int t=0; switch(t2) { case '+': case '-': if(t1=='(原创 2014-05-18 19:35:45 · 898 阅读 · 0 评论 -
2014华为实习上级笔试题-- 统计字符串中出现的单词
#include //#include using namespace std; struct node { char word[10]; int num; }; node obj[100]; void my_word(char input[], char output[]) { int sum=0,flag=0;原创 2014-05-18 19:43:38 · 797 阅读 · 0 评论 -
编程之美之格格取数
#include//����������С���� ֮ С����#includeusing namespace std;int lfh(int n){return (n*(n+1)/2)*(n*(n+1)/2);}unsigned int js(int n){unsigned int ms=0;unsigned int sum=0;uns原创 2014-05-18 00:36:21 · 10118 阅读 · 0 评论 -
各种排序算法的一个类
#include #define MAX 100 using namespace std; class Sample { int a[MAX]; int b[MAX]; int n; friend class Process; public: Sample(){n=0;} }; cla原创 2014-05-18 22:00:46 · 688 阅读 · 0 评论 -
size_type vs size_t
size_type: 由string类类型和vector类类型定义的类型,用以保存任意string对象或vector对象的长度,标准库类型将size_type定义为unsigned类型 string抽象意义是字符串, size()的抽象意义是字符串的尺寸, string::size_type抽象意义是尺寸单位类型 string::size_type它在不同的机器转载 2014-10-25 13:50:01 · 764 阅读 · 0 评论