C++
文章平均质量分 51
BoBoAn_DouYa
这个作者很懒,什么都没留下…
展开
-
位操作实现大小写转化
位操作实现大小写转化下面是写的程序。#include <iostream>using namespace std;int main(){ char name[6]= "hello"; char name2[6] = "HeLLO";//即使里面存在小写,也不会影响到它. for(int i = 0 ;i < 5;i ++){ name[i] &= 0xDF原创 2018-03-05 16:41:45 · 424 阅读 · 0 评论 -
C++ 参数传递,定义与声明,命名空间等基本知识
作用域,生命周期命名空间的三种使用方法 1: using namespace std; cout << 2: std::cout<< 3: using std::cout; cout<<全局变量和局部变量的引用 extern int someInt;明白definition 和 declearation 两者的区别。 变量的定义(definition):创建变量,原创 2015-10-28 00:06:24 · 1419 阅读 · 0 评论 -
算法设计与分析
随便写的快排#include <iostream>using namespace std;#define N 7int findMidd(int *a, int r, int p){ //find q so that a[q] > a[r] && a[q] < a[p]; if(r < p) { int q = 0; int temp原创 2015-11-17 00:35:37 · 548 阅读 · 0 评论 -
int function() const; 怎么理解?
这样的用法当function是一个类的成员函数时有意义,如 class A { private: bool data;public: int functionA int functionB() const; //… };在functionA中可以修改数据成员data,因为this指针类型是A* 在functionB中可以不能修改任何数据成员data,因为此时this指针类型是con原创 2015-11-26 21:47:15 · 1496 阅读 · 0 评论 -
operator bool(); operator const bool() const;
这个不过是提供一个本类型对象到bool的隐式转换罢了。 比如ofstreamofstream ofs(“output.txt”); if( ofs ) { // todo }原创 2015-11-27 13:29:38 · 1826 阅读 · 1 评论 -
左值和右值/auto ptr智能指针
左值和右值的区别左值和右值的直观含义左值必须应该是一个变量或者是表达式等,但是它的物理位置是可以确定的,而右值不一定,这也是它们两者之间的区别。 左值 (lvalue)和右值 (rvalue) 是 c/c++ 中一个比较晦涩基础的概念,有的人可能甚至没有听过,但这个概念到了 c++11 后却变得十分重要,它们是理解 move, forward 等新语义的基础。在C++中,可以放到赋值操作符=左边的转载 2016-03-31 15:23:23 · 622 阅读 · 0 评论 -
迭代器和算法
iterator的好处template<class P,class T>P find(P start,P beyond,const T& x){ while( start != beyond && * start != x) ++start; return start;}template<class P, class T>void re原创 2016-03-31 16:40:29 · 595 阅读 · 0 评论 -
火车调度问题
#include<iostream>#include <vector>#include <algorithm>#include <queue>#include <stack>using namespace std;int n = 3;void simu(int p, stack<int> b, int path[], int currlen){ if(p<=n) {转载 2016-03-31 22:27:23 · 1440 阅读 · 0 评论 -
gcc undefined reference to oepration new[]
include using namespace std; char * getStyle(int a) { char *result = new char[5]; for (int i = 0; i < 5; ++i) { result[i] = ‘0’; } int count = 4; while(a >= 1)原创 2016-08-08 20:26:19 · 353 阅读 · 0 评论 -
多态的表现形式
有两种主要体现: 1、方法的重载和覆盖 a)、重载public void show(int a){ cout<<a<<endl;}public void show(string b){ cout<<b<<endl;} b)、覆盖 class A{ // 定义类A public void fun1(){原创 2015-08-06 12:29:04 · 11909 阅读 · 4 评论 -
堆栈的思考
http://www.cnblogs.com/kevinGaoblog/archive/2012/03/23/2413102.html大致上,网上关于系统分配的堆栈空间的大小有以下的说法: vs分配的栈空间为1M 堆空间,如果是4G的内存,应该有3G或少一点的堆空间可以分配。在windows上用vs编译器的话一般堆栈是1M,不过可以用 #pragma comment(linker ,”/sta原创 2015-08-06 13:54:48 · 545 阅读 · 0 评论 -
my_strchr 函数实现 C函数
/************************************************************************* > File Name: my_strchr.c > Author: > Mail: > Created Time: Mon 12 Jan 2015 02:09:29 PM CSTFinds the l转载 2015-01-12 14:21:06 · 646 阅读 · 0 评论 -
C++重命名文件-code
/* rename example */include原创 2015-03-23 15:57:27 · 1409 阅读 · 0 评论 -
scanf问题
#include<stdio.h>int main(){int i,a[6]={3,2,4,9,23,10},b[6]={2,8,5,8,21,30},A[6]={1,10,2,3,32,40,},B[6]={7,7,9,4,44,32},C[6]={5,6,3,5,67,68},D[6]={0,1,1,17,87,90};char s[7]="CABDBA",t[7];for(i=0;i原创 2015-06-12 09:53:20 · 406 阅读 · 0 评论 -
C++ 打印矩阵
C++ 打印杨辉三角或者说有关系的矩阵#include <iostream>#include <iomanip>using namespace std;int main(){ int a[10][10] = {1}; for(int i = 0; i < 10 ;i ++) { for(int j = 0; j< 10 ; j++) {原创 2015-07-25 21:33:32 · 5179 阅读 · 0 评论 -
C++指针
#include <iostream>using namespace std;int main(){ int *p=new int; int t=10; p=&t; cout<<&p<<endl <<*p<<endl <<p<<endl; delete p; cout<<&p<<endl <<*原创 2015-07-25 22:00:09 · 427 阅读 · 0 评论 -
strtok函数的用法
函数原型:char *strtok(char *s, const char *delim); Function:分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。 Description:strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时 则会将该原创 2015-07-25 21:18:33 · 1581 阅读 · 0 评论 -
7.25日开始整理的东西
php: 开源网购框架里面,推荐一个叫iwebshop的框架,之前搭建了一次,感觉很好用。 http://www.aircheng.com/ 网址如上。iWebShop 是一款B2C2C(单用户+多用户)开源网店系统,基于PHP+MySQL框架开发,通过它可以迅速建立起一个B2C2C网上商城。iWebShop基于专业的MVC模式的IWEB框架开发,iWebShop可以轻松满足用户量级百万至千万原创 2015-07-25 20:34:16 · 436 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
[C++内存分配]的一篇好文章 重新了解了深拷贝和拷贝构造函数的用途!#include<iostream>using namespace std;class Test{public: int size; int *p; Test(int s) //带参数的构造函数 { size = s; p = new原创 2015-08-06 12:20:09 · 364 阅读 · 0 评论 -
C++面向对象常考题
C++面向对象常考题面向对象的三个基本特征,并简述之封装将客观事物抽象成类,每个类对自身的数据和方法实行protection继承public private protected三种继承公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并原创 2016-09-24 16:15:15 · 950 阅读 · 0 评论 -
c++基础常考题
c++基础常考题new delete malloc free的关系malloc free是库函数,对于非内部数据结构的对象而言,无法调用构造函数和析构函数。new 和 delete是运算符,在编译器控制权限之内,因此在创建对象的时候,可以自动执行构造函数,满足c++动态内存分配和初始化工作,以及能清理和释放内存工作。delete 和delete[] 的区别与new 和new []对应,delete原创 2016-09-24 15:28:59 · 580 阅读 · 0 评论 -
第二章 构造函数语义学
#include <iostream>using namespace std;class A{ public: A(){ cout<<"default construct"<<endl; } A(const A&){ cout<<"copy constructor"<<endl;原创 2017-03-30 18:52:36 · 445 阅读 · 0 评论 -
C++11新特性
/*#include <string> #include <iostream> #include <set>using namespace std;template <typename T>class CPPCollection {public: //迭代器类 class Iterator{ public: int index;//元素下标原创 2017-04-09 22:10:47 · 430 阅读 · 0 评论 -
C++异常处理
C++语言本身或标准程序库所抛出的所有异常,都派生自基类exception。这是其他数个标准异常类别的基类,它们共同构成一个类体系:请输入图片描述这些标准异常类别分为三组:(1)语言本身所支持的异常此类异常用以支撑某些语言特性。主要包括: bad_alloc:new操作失败会抛出。 bad_cast:执行期间加在一个引用上面的动态性型别转换操作失败时抛出。 bad_typeid:执行RTTI时转载 2017-03-24 14:06:48 · 333 阅读 · 0 评论 -
类间偏移地址以及切割,static_cast
/*//得到A的每一个变量的偏移地址offset,可以产生一个object,也可以不产生~#include <iostream>#include <functional>using namespace std;struct A{ int i; int j;};int main(void){ A a; cout << (unsigned long)(&(a原创 2017-04-01 16:09:23 · 539 阅读 · 0 评论 -
编程之法-第一章字符串
已知字符串中的字符是互不相同的,现在把它们任意排列(例如,若已知字符是“ab”,则任意排列是“aa”,”ab”,”ba”,”bb”),编程按照字典序输出所有的组合。#include <iostream>#include <functional>#include <map>#include <vector>#include <algorithm>#include <cstring>usin原创 2017-04-02 22:31:03 · 568 阅读 · 0 评论 -
使用C++11让多线程开发变得简单
#include <iostream>#include <functional>#include <map>#include <vector>#include <algorithm>#include <cstring>#include <thread>using namespace std;void func(){ this_thread::sleep_for(chrono:原创 2017-04-02 19:25:38 · 1115 阅读 · 0 评论 -
英语学习
in one’s delt 欠某人的情rolling in the deep 内心深处爱恨交织的意思Don’t loss yourself in resentment and bitterness 不能沉溺于愤怒和痛苦之中don’t keep away from papa 不要远离葩葩academy academic 发音不同于名词merit 价值优点的意思sporting house妓院 gy原创 2017-05-02 20:50:21 · 763 阅读 · 0 评论 -
window下完整安装QT
window下完整安装QThttp://blog.csdn.net/u014304293/article/details/39393449转载的,其中有些需要改正的地方1.先下载最新版的 Qt Creator 给个我下载的地址,最好是自己直接去qt官网下载比较方便:Qt Creator 双击进行安装,默认安装实在C盘,我安装在D盘(这个随意),(如果安装库,需要的磁盘空间还是比较大的)如下转载 2017-11-01 18:37:55 · 831 阅读 · 0 评论 -
给出每个站点之间的最短距离,求出最短路径,用unordered_map来实现,让你实现find_cheapest_transform函数
#include <map>#include <set>#include <list>#include <cmath>#include <ctime>#include <deque>#include <queue>#include <stack>#include <string>#include <bitset>#include <cstdio>#include <limits原创 2017-03-23 19:01:21 · 928 阅读 · 0 评论 -
C++ 11
#include <iostream>#include <typeinfo>using namespace std;class A{ public: static const char* getMessage(){ return "const hahha"; }};class B{ public: sta原创 2017-03-23 16:47:53 · 401 阅读 · 0 评论 -
数据结构
数据结构在8086汇编下,逻辑地址和物理地址是怎么样转换的?答案:通用寄存器给出的地址,是段内偏移地址,相应段寄存器地址*10H + 通用寄存器内地址,就得到了真正要访问的地址比较c++中4种类型转换方式一、C 风格(C-style)强制转型如下:(T) expression // cast expression to be of type T 函数风格(Function-style)强制转型使用原创 2016-09-25 14:05:04 · 412 阅读 · 0 评论 -
c++常考题
1. 如何判断一个单链表是否有环?(注意不能用标志位,最多只能用两个额外的指针)2.strlen函数的写法,strcpy函数的手动写出注意怎样才能拿到全部的分数!#include <iostream>#include <assert.h> using namespace std;void cpy(char *dest, const char *source){ assert(dest !原创 2016-09-25 20:12:02 · 501 阅读 · 0 评论 -
计算机网络-C++基础知识,面试复习题
atoi函数#include <iostream>#include <cstring>using namespace std;int atoI(char *s){ if(s == NULL) { return -1; } int i = 0; int sum = 0; while(s[i] != NULL) {原创 2016-10-11 14:26:26 · 1006 阅读 · 0 评论 -
公司面试题
写出atoi(char * s)的实现#include <iostream>using namespace std;int atoi_s(char *s){ if(s == NULL) return 0; int sum =0; while(*s != '\0') { sum *= 10; sum += (*s++原创 2016-09-25 22:07:37 · 397 阅读 · 0 评论 -
数列题
6 = 2 × 3 10= 2 × 5 18= 2 × 9 32= 2 × 16 观察数列 3 ,5 ,9,16 5 - 3 = 2 9 - 5 = 4 16- 9 = 7 再观察数列 2,4,7 4 - 2 = 2 7 - 4 = 3 由此我可以说2,4,7是差加1的数列,该数列的下一项是11 那么数列3 ,5 ,9,16 的下一项就是27 所以原创 2016-09-25 22:24:08 · 533 阅读 · 0 评论 -
内存寻址、计算机组成原理等~
内存按字节编址,地址区间为[90000H,CFFFFH],若用32K*8bit的存储器芯片构成该内存,需要__块???(1)首先根据地址区间[90000H,CFFFFH],可以计算地址空间为:CFFFFH - 90000H + 1 = 40000H 因为10000H = 2^16B 那么 40000H = 4 * (2^16)B (2)32K = 32*(2^10)B 那么内存所需芯片数为:原创 2016-09-26 11:36:38 · 2108 阅读 · 0 评论 -
C++ 快排
//把最后一个当主元 piovt int small = s; int pivot = a[e]; int i = s, j = e ; while( i < j){ if(a[i] >= pivot){ i++; }else{ swap(a[small],a[i]);原创 2017-03-29 16:58:34 · 603 阅读 · 0 评论 -
2017.4.4 复习
虚析构函数#include <iostream>using namespace std;class A{public: A(){ cout<<"A"<<endl; } virtual ~A(){ //如果不把析构函数声明为虚函数,有时候就调用不到,因此产生内存泄漏 cout<<"~A"<<endl; }};class B:p原创 2017-04-08 16:27:53 · 407 阅读 · 0 评论 -
整数ip地址转化为01二进制表示...
#include #include #include using namespace std;int indexof(string ipaddress, char spliter){ for(int i = 0 ; i< ipaddress.length() ;i ++) if(ipaddress[i] == spliter) return i;原创 2014-04-07 14:44:48 · 651 阅读 · 0 评论