C/C++
文章平均质量分 82
架构师思考实践
大数据、实时计算、离线计算
展开
-
C++经典面试题
1、int a=5,则 ++(a++)的值是() A、5 B、 6 C、7 D、逻辑错误 a++返回的是一个临时变量,这里是右值,不能再前面++了 2、下面的代码输出什么?(取地址运算符比+运算符的优先级要高) [cpp] view plaincopy int main(void) {转载 2013-03-18 00:56:37 · 655 阅读 · 0 评论 -
++a和a++专题 (转自suningin)
这个方向的题目一直是我suningin个人的一块心病,知道好久了,但是从来没有安心下来彻底研究研究,今天晚上用了些时间终于给弄了出来,放在这里和大家分享,呵呵。。。 大家先来看看下面计算式子的值,试试自己来做做 int b=0,c=0,d=0,g=0,i=0; int a=1,e=1,f=1,h=1,j=1; i = (++j) + (j++) + (j++);原创 2013-03-18 10:29:55 · 681 阅读 · 0 评论 -
【STL】list基础(转)
各个容器有很多的相似性。先学好一个,其它的就好办了。先从基础开始。 先看看他们的分类吧 标准STL序列容器:vector、string、deque和list。标准STL关联容器:set、multiset、map和multimap。非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一个重型字符串。非标准关联容器hash_set、hash_multiset、hash_m原创 2013-03-18 17:45:13 · 673 阅读 · 0 评论 -
C++面试题-String函数实现
C++面试题-String函数实现 面试中经常会出现让应聘者写出string的构造函数、析构函数等具体实现,有人说会了这道题,那么C++的基础知识可以说是会了60%. 而且在前几天我同学参加的面试中也出现了这道题目,足以证明不负其名。为以后实习工作打算,现在将其总结一下。 在网上搜了搜,发现很多文章列出了实现代码,但在重载“赋值函数”时都将operator错写成转载 2013-05-10 09:32:59 · 955 阅读 · 0 评论 -
c++内存分配
void GetMemory(char *p) { p = (char *)malloc(100); } void Test(void) { char *str = NULL; GetMemory(str); strcpy(str, “hello world”); printf(str); } 请问运行Test函数会有什么样的结果? 答:程序崩溃。 因为Ge转载 2013-05-08 22:50:33 · 750 阅读 · 0 评论 -
win32编程入门
Win32 程序开发的流程 message based, event driven Win32程序是message based, event driven。也就是说Win32程序的运行是依靠外部不断发生的事件来驱动的,也就是说,程序不断等待(有一个while循环),等待任何可能的输入,然后做判断,再做适当的处理。因此Win32程序只需要做好如下几件事情就可以了:转载 2013-05-08 17:56:38 · 789 阅读 · 0 评论 -
KMP字符串模式匹配详解
KMP字符串模式匹配详解 来自CSDN A_B_C_ABC 网友 KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。 一. 简单匹配算法 先来看一个简单匹配算法的函数: int Index_BF ( char S [ ], char T [ ], int po转载 2013-05-06 19:56:00 · 643 阅读 · 0 评论 -
C++中Int转换成String
C++中Int转换成String Previous Next 一、使用atoi说明: itoa( int value, char *string, int radix ); 第一个参数:你要转化的int; 第二个参数:转化后的char*; 第三个参数:你要转化的进制; 举例: //-------------------------------转载 2013-05-03 20:17:31 · 1634 阅读 · 0 评论 -
VS2008技巧,非常实用,非常提高效率。
VS2008技巧,非常实用,非常提高效率。 1,Visual Studio 2008自带的1000多个 Windows 系统使用的各种图标、光标和动画文件 在Visual Studio 2008的安装目录下, \Microsoft Visual Studio 9.0\Common7\VS2008ImageLibrary\2052文件夹下面,有一个VS2008ImageLibrary.zi转载 2013-05-03 20:46:49 · 837 阅读 · 0 评论 -
c++虚函数解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使用方法,我在这里不做过转载 2013-05-01 23:58:30 · 622 阅读 · 0 评论 -
c++面试题之内存分配
1:c中的malloc和c++中的new有什么区别 malloc和new有以下不同: (1)new、delete 是操作符,可以重载,只能在C++中使用。 (2)malloc、free是函数,可以覆盖,C、C++中都可以使用。 (3)new 可以调用对象的构造函数,对应的delete调用相应的析构函数。 (4)malloc仅仅分配内存,free仅仅回收内存,并不执行构造和析构函数 (5转载 2013-03-24 13:14:55 · 860 阅读 · 0 评论 -
C/C++ 笔试、面试题目大汇总2(转)
继续 ~~~~~~~~~ 一.找错题 试题1: void test1() { char string[10]; char* str1 = "0123456789"; strcpy( string, str1 ); } 试题2: void test2() { char string[10],str1[10]; int i; for(i=0;原创 2013-03-18 17:42:07 · 728 阅读 · 0 评论 -
C/C++ 笔试、面试题目大汇总(转)
这些东西有点烦,有点无聊。如果要去C++面试就看看吧。几年前网上搜索的。刚才看到,就整理一下,里面有些被我改了,感觉之前说的不对或不完善。 1.求下面函数的返回值( 微软) int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1); } return countx; }原创 2013-03-18 17:40:24 · 731 阅读 · 0 评论 -
Linux下基于C/C++的Socket编程基础
Linux下基于C/C++的Socket编程基础 什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输转载 2013-03-18 10:57:33 · 854 阅读 · 0 评论 -
C++多线程编程入门(转)
C++多线程编程入门(转) 第1节 背景 为了更好的理解多线程的概念,先对进程,线程的概念背景做一下简单介绍。 早期的计算机系统都只允许一个程序独占系统资源,一次只能执行一个程序。在大型机年代,计算能力是一种宝贵资源。对于资 源拥有方来说,最好的生财之道自然是将同一资源同时租售给尽可能多的用户。最理想的情况是垄断全球计算市场。所以不难理 解为何当年IBM预测“原创 2013-03-18 10:58:44 · 726 阅读 · 0 评论 -
Visual C++ 6.0的常用快捷键(来自EmanLee, Eman Lee's Space )
F1-F12 F1 显示帮助,如果光标停在代码的某个字符上,显示MSDN中相应的帮助内容(需要安装MSDN才能使用) F2 书签功能: Ctrl+F2 --在某行设置一个书签(再按一次是取消) F2 --跳到下一个书签位置 Shift+F2 --跳到上一个书签位置 Ctrl+Shift+F2 --删除所有书签 F3 查找: Ctrl+F3 --在文件中查找,如果当前光标在原创 2013-03-18 10:36:38 · 922 阅读 · 0 评论 -
C++ Socket编程步骤
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。 服务器端编程的步骤: 1:加载套接字库,创建套接字(WSAStartup()/socket()); 2:绑定套接字到一个IP地址和一个端口上(bind()); 3:将套接字设置为监听转载 2013-03-18 10:54:34 · 721 阅读 · 0 评论 -
char *name 与 char name[]的区别
VC中char *name 与 char name[]的区别(基础知识) 要点:char* name="abc"指的是常量字符串,不可以修改指针,是兼容老的写法;char[] name="abc"是指针,可以修改; 在学习过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内容程序是会崩溃的,而后者完全正确。 程序演示:转载 2013-03-18 09:19:21 · 4865 阅读 · 0 评论