随笔分类 -  LINUX C

LINUX C
c,c++中struct的区别
摘要:c中的struct是没有权限设置的。 C++中struct增加了访问权限,且可以和类一样有成员函数。 C++中的struct等同于class,只是class默认成员权限是private,而struct默认成员权限是public。且class的默认继承为私有继承,struct的默认继承为公有继承。 阅读全文
posted @ 2009-11-03 21:04 Myhsg 阅读(926) 评论(0) 推荐(0)
C/C++ assert函数用法(转)
摘要:assert()函数用法 assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include<assert.h> voidassert(intexpression); assert的作用是现计算表达式expression,如果其值为假(即为0),那么它先向stderr打印一条出错信息, 然后通过调用abort来终止程... 阅读全文
posted @ 2009-10-18 20:19 Myhsg 阅读(1630) 评论(0) 推荐(0)
copy constructor 与 copy assignment operator 的区别
摘要:A a();A b=a; //copy constructorb=a; //copy assignment operator 阅读全文
posted @ 2009-09-18 21:57 Myhsg 阅读(440) 评论(0) 推荐(0)
指针常量 指向常量的指针
摘要:const int* ps //指向常量的指针int *const ps //指针常量 阅读全文
posted @ 2009-09-17 22:25 Myhsg 阅读(175) 评论(0) 推荐(0)
c++ 友元(转)
摘要:原文地址:http://hi.baidu.com/jk_cau/blog/item/0ce5444bbcf8b7f583025cfc.html定义:允许一个类将对其非公有成员的访问权授予指定的类或函数(分别是友元类和友元函数)。(C++ primer 4e)说明:友元是非成员函数,即它并不是授予友元关系的那个类的成员,它的声明可以出现在类中的任何地方(因此它们也不受其声明出现部分的访问控制的影响)... 阅读全文
posted @ 2009-09-17 22:23 Myhsg 阅读(518) 评论(0) 推荐(0)
new和malloc区别 (转)
摘要:原文地址:http://hi.baidu.com/ilotus_y/blog/item/49f49097e75e8c6b54fb96e5.htmlmalloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。 对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之... 阅读全文
posted @ 2009-09-14 17:37 Myhsg 阅读(1051) 评论(0) 推荐(0)
undefined reference to 'pthread_create'问题解决(转)
摘要:undefined reference to 'pthread_create'undefined reference to 'pthread_join'问题原因:pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。问题... 阅读全文
posted @ 2009-09-10 11:53 Myhsg 阅读(396) 评论(0) 推荐(0)
gcc/g++参数详解(转)
摘要:原文作者(pianopan@beeship.com)[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器l... 阅读全文
posted @ 2009-09-08 10:17 Myhsg 阅读(540) 评论(0) 推荐(0)
fork vfork exit _exit (转)
摘要:原文地址:http://hi.baidu.com/ikaruga11/blog/item/fb6d75725a8d8d148701b080.htmlAPUE上的一个例子:example1 (forkt.c ):#include<stdlib.h>#include<unistd.h>#include<stdio.h>#include<sys/types.h&... 阅读全文
posted @ 2009-09-07 19:42 Myhsg 阅读(1035) 评论(0) 推荐(0)
0/1背包问题(递归与非递归)
摘要:有一个背包,能盛放的物品总重量为s,设有n件物品,其重量分别为w1,w2,...,wn.希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于s。递归算法:[代码]非递归(栈实现)[代码] 阅读全文
posted @ 2009-08-29 22:00 Myhsg 阅读(2709) 评论(0) 推荐(1)
解析/etc/inittab 文件(转)
摘要:原文地址:http://hi.baidu.com/fembed/blog/item/62a509f01b2e69aaa40f528c.htmlinit程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它有若干行指令所组成。在Redhat系统中,inittab的内容如下所示(以“###"开始的中注释为笔者增加的):   #   # inittab Th... 阅读全文
posted @ 2009-08-12 21:39 Myhsg 阅读(524) 评论(0) 推荐(0)
socket绑定INADDR_ANY,那会怎样(转)
摘要:其中INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或“所有地址”、“任意地址”。一般情况下,如果你要建立网络服务器,则你要通知服务器操作系统:请在某地址 xxx.xxx.xxx.xxx上的某端口 yyyy上进行侦听,并且把侦听到的数据包发送给我。这个过程,你是通过bind()系统调用完成的。—... 阅读全文
posted @ 2009-08-03 15:01 Myhsg 阅读(557) 评论(0) 推荐(0)
多线程和多进程的区别(转)
摘要:很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。今天终于下了决心,写点东西,以后可以再修修补补也无妨。一.为何需要多进程(或者多线程),为何需要并发?这个问题或许本身都不是个问题。但是对于没有接触过多进程编程的朋友来说,他们确实无法感受到并发的魅力以及必要性。我想,只要你不是整天都写那种int main()到底的代码的人,那么或... 阅读全文
posted @ 2009-08-01 22:51 Myhsg 阅读(669) 评论(0) 推荐(0)
c++模板类/模板函数的声明与定义应该放在头文件里
摘要:c++模板类/模板函数的声明与定义应该放在头文件里,不要分开来写类中函数的声明与定义(比如在.H文件里声明某个成员函数,在.CPP文件里定义该成员函数),这样会导致连接错误。所应该将模板类/模板函数的定义与声明写在一个.h文件里。 阅读全文
posted @ 2009-08-01 11:40 Myhsg 阅读(1565) 评论(0) 推荐(0)
数学之美系列二十一 - 布隆过滤器(Bloom Filter)(转)
摘要:原文地址:http://hi.baidu.com/yunlong%5Flee/blog/item/c3b6b600f8dc2717728b658a.html在 日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它 是否在已知的字典中);在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址... 阅读全文
posted @ 2009-08-01 10:44 Myhsg 阅读(242) 评论(0) 推荐(0)
robot.txt说明 (转)
摘要:搜索引擎通过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信息。  您可以在您的网站中创建一个纯文本文件robots.txt,在这个文件中声明该网站中不想被robot访问的部分,这样,该网站的部分或全部内容就可以不被搜索引擎收录了,或者指定搜索引擎只收录指定的内容。   一、 什么是robots.txt文件   搜索引擎通过一种程序robot(又称spider),自动访问... 阅读全文
posted @ 2009-07-31 20:27 Myhsg 阅读(541) 评论(0) 推荐(0)
静态成员声明,定义(转)
摘要:class A{public: static const int ci;};//const int A::ci = 10;int main(){ cout << A::ci ; return 0;} 编译并无问题,运行会报错。,因为ci未定义,未分配内存,对象ci未建立成实体。【注】对于不使用的对象(包括函数),可以只声明而不定义,当需使用的时候则需有定义,分配内存,成为实体class... 阅读全文
posted @ 2009-07-31 09:35 Myhsg 阅读(415) 评论(0) 推荐(0)
C++静态成员函数小结(转)
摘要:原文地址:http://hi.baidu.com/quanhaili/blog/item/5a40ba86b37e1b22c65cc38f.html类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员... 阅读全文
posted @ 2009-07-31 09:34 Myhsg 阅读(26265) 评论(1) 推荐(6)
外部链接性,内部链接性和无链接性(转)
摘要:首先从静态变量说起. C++里面静态变量有三种: 分别是外部链接性,内部链接性和无链接性.声明外部链接的变量的方法是在代码块外面声明它. 此变量是全局变量,多文件中亦可用.声明内部链接的变量的方法是在代码块外面声明它并加上static限定符. 此变量是全局变量,但仅在本文件中可用.声明无链接的变量的方法是在代码块里面声明它并加上static限定符. 此变量是局部变量,但仅在本代码块中可用.例:#i... 阅读全文
posted @ 2009-07-31 09:20 Myhsg 阅读(1869) 评论(0) 推荐(0)
C++里的静态成员函数(不能用const的原因+static在c++中的第五种含义)(转)
摘要:原文地址:http://blog.csdn.net/he3913/archive/2008/09/18/2944737.aspxC++里的静态成员函数(不能用const的原因+static在c++中的第五种含义) ----自 core c++ static在c++中的第五种含义:用static修饰不访问非静态数据成员的类成员函数。这意味着一个静态成员函数只能访问它的参数、类的静态数据成员和全局变量... 阅读全文
posted @ 2009-07-30 23:01 Myhsg 阅读(549) 评论(0) 推荐(0)