随笔分类 -  C/C++基础

学习C语言的同时,增加用C来描述算法的能力。C语言尽量在Linux上写。
摘要:下面是UDP的服务器的代码: /* server.c */ #include <stdio.h> #include <string.h> #include <netinet/in.h> #include <arpa/inet.h> #include <ctype.h> #include "wrap. 阅读全文
posted @ 2016-02-26 19:24 stemon 阅读(360) 评论(0) 推荐(0) 编辑
摘要:C语言程序可以看成由一系列外部对象构成,这些外部对象可能是变量或函数。而内部对象是指定义在函数内部的函数参数及变量。 外部变量定义在函数之外,因此可以在许多函数中使用。由于C语言不允许在一个函数中定义其它函数,因此函数本身只能是“外部的”。 由于C语言代码是以文件为单位来组织的,在一个源程序所有源文 阅读全文
posted @ 2016-02-25 21:09 stemon 阅读(1226) 评论(0) 推荐(0) 编辑
摘要:有些程序员用C语言写程序的时候,不太了解头文件的作用。他们对编译器提出的警告不在乎,仅以编译、连接通过为目标,这可能会有潜在的危害。 头文件定义了数据结构和函数接口 头文件定义了数据结构,这大家都能体会到,因为不包含你要使用头文件的话,编译根本就通不过。 头文件的另一个作用,定义函数接口,作用似乎没 阅读全文
posted @ 2016-02-25 14:04 stemon 阅读(256) 评论(0) 推荐(0) 编辑
摘要:网络字节序 发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺序保存,因此,网络数据流的地址应这样规定:先发出的数据是低地址,后发出的数据是高地址。 为使网络程序具有可移植性,使同样的C代码在大端和小端计算机上 阅读全文
posted @ 2016-02-24 14:06 stemon 阅读(1654) 评论(0) 推荐(0) 编辑
摘要:一、前言中断发生以后,CPU跳到内核设置好的中断处理代码中去,由这部分内核代码来处理中断。这个处理过程中的上下文就是中断上下文。为什么可能导致睡眠的函数都不能在中断上下文中使用呢?首先睡眠的含义是将进程置于“睡眠”状态,在这个状态的进程不能被调度执行。然后,在一定的时机,这个进程可能会被重新置为“运... 阅读全文
posted @ 2016-01-21 16:55 stemon 阅读(7383) 评论(0) 推荐(2) 编辑
摘要:现在有这种需求,在main函数中建立一个二叉树的root结点的指针,在tree_create函数中malloc或者new一个二叉树结点,然后在main函数中能正常的访问这个新建的结点。注:这里的tree_create的返回值为void,也就是说不能通过函数的返回值返回指向结点的指针。能想到的办法就是... 阅读全文
posted @ 2016-01-14 17:49 stemon 阅读(558) 评论(0) 推荐(0) 编辑
摘要:C/C++基本数据类型C/C++语言有一组基本数据类型,对应于计算机的基本存储单元和使用这些单元去保存数据的一些常用方式。基本数据类型如下:上面表格中的类型是基本的C/C++数据类型,但是在C++11中又有了一些扩展。C++11中long long整型相比于C++98标准,C++11整型的最大改变就... 阅读全文
posted @ 2015-12-02 15:50 stemon 阅读(550) 评论(0) 推荐(0) 编辑
摘要:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316090478912dab2a3a9e8f4ed49d28854b292f85bb000http://www.runoob... 阅读全文
posted @ 2015-11-08 16:26 stemon 阅读(153) 评论(0) 推荐(0) 编辑
摘要:商品类:#ifndef ITEM_H_#define ITEM_H_class SalesTax;//This represents the Items which don't have an Import duty or any sales taxclass Item{public: //Cons... 阅读全文
posted @ 2015-10-29 18:02 stemon 阅读(967) 评论(0) 推荐(0) 编辑
摘要:首先我们要更正一个很熟悉的概念,那就是指针不仅仅是“地址”,指针还有一个很重要的特性,那就是“类型”。指针初始化时,“=”的右操作数必须为内存中数据的地址,不可以是变量,也不可以直接用整型地址值(但是int *p =0;除外,该语句表示指针为空);所以int *p = 10;这样的代码是不允许的。在... 阅读全文
posted @ 2015-10-15 17:49 stemon 阅读(642) 评论(0) 推荐(0) 编辑
摘要:(shared_ptr)的引用计数本身是安全且无锁的,但对象的读写则不是,因为 shared_ptr 有两个数据成员,读写操作不能原子化。根据文档(http://www.boost.org/doc/libs/release/libs/smart_ptr/shared_ptr.htm#ThreadSa... 阅读全文
posted @ 2015-09-30 00:30 stemon 阅读(3405) 评论(0) 推荐(0) 编辑
摘要:今天面试遇到一道有关C++转换构造函数的题目,之前经常见到默认构造函数、拷贝构造函数、析构函数,但是从没听说过转换构造函数,隐式转换函数也是一样,C++的确是够博大精深的,学习之路很长啊!其实我们已经在C/C++中见到过多次标准类型数据间的转换方式了,这种形式用于在程序中将一种指定的数据转换成另一指... 阅读全文
posted @ 2015-09-24 21:13 stemon 阅读(589) 评论(0) 推荐(0) 编辑
摘要:先科普一下:1. new的执行过程:(1)通过operator new申请内存(2)使用placement new调用构造函数(内置类型忽略此步)(3)返回内存指针2. new和malloc的比较:(1)new失败时会调用new_handler处理函数,malloc不会,失败时返回NULL(2)ne... 阅读全文
posted @ 2015-09-24 10:51 stemon 阅读(720) 评论(0) 推荐(0) 编辑
摘要:看下面的面试题:#include using namespace std; struct CLS { int m_i; CLS( int i ) : m_i(i){} CLS() { CLS(0); } }; int ... 阅读全文
posted @ 2015-09-24 01:11 stemon 阅读(1649) 评论(0) 推荐(0) 编辑
摘要:unordered_map和map类似,都是存储的key-value的值,可以通过key快速索引到value。不同的是unordered_map不会根据key的大小进行排序,存储时是根据key的hash值判断元素是否相同,即unordered_map内部元素(key)是无序的,而map中的元素是按照... 阅读全文
posted @ 2015-09-18 17:46 stemon 阅读(1701) 评论(0) 推荐(0) 编辑
摘要:学习链接:http://blog.csdn.net/jason314/article/details/5640969http://coolshell.cn/articles/7965.html搜牛客网上多有关于fork的题目在真实的linux中跑一次 阅读全文
posted @ 2015-08-27 01:45 stemon 阅读(196) 评论(0) 推荐(0) 编辑
摘要:其实很早在看LINUX下就看到这个东西,后来在李先静的《系统程序员成长计划》里看到了类似的定义,于是心里想着总结一下,结果发现网上已经有牛人总结的很好了,于是乎就转了过来,谢谢你们的分享,这是我前进的动力!同时,需要引起注意的:ISO/IEC 9899-1999里面,这么写是非法的,这个仅仅是GNU... 阅读全文
posted @ 2015-08-17 19:37 stemon 阅读(2119) 评论(0) 推荐(0) 编辑
摘要:有关数据位的提升的隐式转换从下面的这三道道笔试题开始:signed char a = 0xe0;unsigned int b = a;unsigned char c = a;signed char a = 0xe0;if(a == 0xe0){ printf("haha");}else{ print... 阅读全文
posted @ 2015-08-15 16:57 stemon 阅读(645) 评论(0) 推荐(0) 编辑
摘要:看一些有关位操作的知识,这里为了方便说明,拿short(16位)作为例子:先说signed short带符号的,表示的范围是-215~215-1也就是-32768~32767。那么对于下面的代码:short a = -32768;a = a - 1; 这里的a的最后值是多少呢?先看a=-32768... 阅读全文
posted @ 2015-08-14 17:09 stemon 阅读(795) 评论(0) 推荐(0) 编辑
摘要:开篇先说这道面试题:class ClassA{ public: virtual ~ ClassA() { } virtual void FunctionA() { }};class ClassB{ public: virtual void Fun... 阅读全文
posted @ 2015-08-10 19:46 stemon 阅读(345) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示