随笔分类 - C++
摘要:一。1.二分查找要求是()A 键值有序的顺序表 B 键值有序的链表 C 键值无序的顺序表 D键值无序的链表2. 操作系统中一个指令的执行分为 取值,分析,执行,每部分所用的时间是2T,3T,5T,则执行100条指令所用的时间是();3.计算机内内存地址和I/o地址是统一编址的,如何区别是哪类地址? A,根据输出的数据 B 操作符 C 操作地址4. 计算机网络包括通信主体,协议,网络链路??,其中的通信主体指();5.IPVN上的协议是() A Ipsec B SSL C Tcp6.改变所有用户组的linux命令:chgrp 改变文件所有者:chown 改变文件的权限:chmod r:4 w:2
阅读全文
摘要:1,数据库的概念模型,与DBMS的关系 概念模型是对信息世界的抽象,是现实世界到信息世界的第一层抽象。 关系模型即为一张二维表,不允许有两条完全一样的记录,不允许表中有表。 层次模型即树状图,一对多的关系。网状模型即多对多的关系。 概念模型与DBMS相关。2.动态查找表最快的数据结构是?3.一个序列如何构造成二叉排序树4.一个序列如何构造成一个堆5.波兰式,逆波兰式 逆波兰式即后缀表达式。如中缀式(a+b)*c的逆波兰式为ab+c*6.字符串中的最长回文子串(编程)7.基于udp协议上一层的协议?(telnet 是基于TCP的,是DNS)8,ARP,RARP工作在哪一层?网络层,ARP地址解析
阅读全文
摘要:1.进程与线程的区别2.进程间通信的方式有哪些3.宏定义定义一个MIN 实现a,b中最小的那个数4.为什么C++中调用C编译后的。cpp文件,需要声明“extern C”5.冒泡排序6.快速排序7.堆排序8.软件测试人员在整个项目开发过程中各个阶段的作用,测试人员在项目上线后需要做些什么?测试用例是在哪些阶段做的?9.操作系统的层次,以及每一层的作用10.strcpy()11.strcmp(),C语言实现12.最大子序列的和和相应的序列13.提供差错控制的协议是?14.IP协议是可靠的么,面向连接的么?15.单链表逆转16.aToi, 两个链表第一个公共节点17.在C++如何调用。dll程序?
阅读全文
摘要:1.为什么使用友元?在实现类之间数据共享时,减少系统开销,提高运行效率。或者说允许外面的类或函数访问类的私有变量或保护变量。2.使用友元的场合(1) 操作符重载的场合; (2) 两个类共享数据的场合;3.友元的分类(1)在类外的普通函数可以定义为类的友元函数。在调用时直接调用。可以在类内或类外定义。不需要加类的作用域。(2)另一个类的成员函数作为该类的友元函数。(3)类B作为类A的友元类。 注: 友元函数不是成员函数。在类中声明可为public或private。一般为private. 友元类B的所有的成员函数均是类A的友元函数。详解:http://www.cnblogs.com/BeyondA
阅读全文
摘要:内存泄漏是指由于疏忽或错误使得应用程序未能释放不在使用的内存。内存泄漏并非物理上内存的消失,而是应用程序在分配内存后,由于设计错误,导致该段内存在被释放之前失去了对它的控制,从而导致内存浪费。我们常说的内存泄漏是指堆的内存泄漏。使用malloc,realloc,new在堆上申请内存空间,在使用完毕后必须使用free或delete释放掉,如果没有手动释放,我们就说这块内存泄漏了。
阅读全文
摘要:在C++中的区别:1.默认成员的保护级别:struct默认是public ,class 默认是private2.默认派生类的保护级别:struct默认是public, class默认是private在C#中的区别:默认成员的保护级别都是private, struct 是值类型,该类型的对象实在栈上分配内存;class是引用类型,该类型的对象是在堆上分配内存。C#与C++的区别:1.struct与class的区别;2.在C#中有Finalize 或Dispose 方法用来释放申请的资源。Finalize方法虽然写法与C++中的析构函数相同,都是~加类型名,但是调用时机不同。Finalize是CL
阅读全文
摘要:1.static成员函数不能是虚函数 虚函数存在于有继承关系的类的对象中,在派生类中覆盖了基类的虚函数,实现了动态绑定。通过基类的指针或引用调用派生类版本。static成员函数在继承关系中只存在一份。是属于类的,而不受限于某个对象,不存在this指针。在派生类中的继承的static函数和基类是一个函数。因此~。2.inline成员函数不能是虚函数函数的inline属性是在编译时静态确定的,而virtual则是在运行时确定的。肯定不能同时存在。inline函数建议编译程序在调用该函数的地方将函数代码展开来插入到caller的代码中,这个只是一种指示,至于会不会被内敛,编译程序要看该函数是否存在多
阅读全文
摘要:1.C++中static的作用1)隐藏在编译多个程序时,所有未加static关键字的全局变量和函数具有全局作用域。static的作用域是整个文件,对其他文件是不可见的。这样就可以在其他程序中定义同名的函数和变量,而不会出现命名冲突的问题。在类中定义的static函数或变量称为静态成员。该成员属于类,也就是说当类的一个实例改变了该成员,对于其他类的实例是可见的。static可以修饰变量或函数。修饰函数时主要作用就是隐藏。修饰变量还具有两个功能:2)保持变量内容持久static变量是存储在静态数据区,在程序第一次执行时完成初始化,也是唯一一次初始化。该变量的值可以保存到第二次修改它为止。3)默认值
阅读全文
摘要:1.线程池2.连接池3.接口和类的区别4.C++&C的区别,C++与C#的区别5.单例模式6.Post & Get的区别7.HTTP协议的组成8.IPV4& IPV69.进程和线程10.面向对象的思想,封装,继承,多态
阅读全文
摘要:memcpy & strcpy1.函数原型:char* strcpy(char* dest,const char* src); void * memcpy(char* dest,const char* src,size_t count);2.复制内容不同:strcpy只能复制字符串; memcpy可以复制任意内容,如字符数组,整型,结构体,类等;3.复制方法不同:strcpy 不需要指定大小,遇‘\0’结束; memcpy 需要指定复制的大小4.用途不同: strcpy只能用于复制字符串。memset函数原型:void * memset(void* buffer,char c,int
阅读全文
摘要:容器分为顺序容器和关联容器。顺序容器:vector ,deque(双端队列), list使用情况:1.vector和 deque 支持随机访问元素。2.如果必须在容器的中间位置插入和删除元素,则选用list.3.如果只是在容器的头部和末尾插入和删除元素,则选用deque.操作:1.vector,deque,list均支持在末尾添加和删除一个元素:push_back ,pop_back.2.vector,deque,list均支持插入和删除一个元素:insert ,erase.3.deque ,list 支持在头部添加和删除一个元素:push_front,pop_front. vector不支.
阅读全文
摘要:C是结构化语言,是面向过程的,C程序的设计主要是如何通过一个过程,将输入(或环境变量)转化为输出(或事物控制)。C++并不是完全面向对象的,其首要考虑的是如何通过设计一个对象模型,将对象模型映射到问题域中,然后通过对象的状态信息得到输出或实现事物控制。C++中实现了封装,继承,多态机制。主要区别是 将设计的思想融入了C++.C主要是数据结构和算法。数据结构和算法是设计的基础。
阅读全文
摘要:构造函数:可以被继承,不能是虚拟的。1.如果基类中无构造函数,子类中可不定义构造函数,均使用默认的构造函数。2.如果基类中有无参构造函数,子类中可不定义构造函数,继承基类的无参构造函数。3.如果基类中只有带参数的构造函数,子类中必须继承基类构造函数,并传递参数初始化。派生类构造函数构造顺序:1.调用基类构造函数。2.调用内嵌对象所在类的构造函数。3.调用派生类的构造函数。比如:class Base{public:Base(){ cout<<"base构造函数"<<endl;}~Base(){ cout<<"base析构"
阅读全文
摘要:重载的特征:必须在同一个域中(同一个函数中)函数名相同,参数不同(参数类型,参数个数)Virtual 可有可无作用:使一个函数具有不同的方法覆盖的特征:必须在不同的域中(分别在基类与派生类中)函数名形同,参数相同必须具有virtual(基类必须,派生类可有可无)作用:派生类的虚函数覆盖了基类的同名同参数的函数。是多态支持的特性,基类的指针或引用在调虚函数时根据运行时实际指向的对象调用函数。隐藏的特征:必须在不同的域中(分别在基类与派生类中)函数名相同,参数相同,基类中没有virtual,则派生类函数隐藏了基类中的函数函数名相同,参数不同,virtual可有可无,则隐藏
阅读全文
摘要:详解:http://www.cnblogs.com/chio/archive/2007/11/24/970632.htmlhttp://blog.csdn.net/tigerjb/article/details/7427366volatile 影响编译器的输出结果,表示该变量是易变的,所有跟该变量有关的运算,均不用优化编译。作用:1.告诉编译器不做任何优化。2.由于该变量可能被意想不到的改变,因此,每次存储和读取该变量都必须重新从源地址读取。不能使用存放在寄存器的备份。eg.volatile int i=10;int j=i;int k=i;如果没有volatile 关键字,优化器是这样进行优
阅读全文
摘要:castc++中有四种显示强制类型转换的方法 cast_name<type>(expression)1.dynamic_cast:动态类型转换,主要应用于将基类的指针或引用强制转化为派生类的指针或引用。2.static_cast:静态转换,c++编译器所有的隐式转换都可以用它来完成。用于小类型转换为大类型的,不在乎精度的丢失。3.const_cast:常量转换,将变量的常属性转换掉。只能用于增加或去除常属性。4.reinterpret_cast:重解释转换,编译器为操作数的位模式提供较低层次的重新解释。static1.在模块内定义的静态全局变量可以被该模块内的所有函数调用,不能被模
阅读全文