
C/C++ 笔记
文章平均质量分 51
cinience
这个作者很懒,什么都没留下…
展开
-
关于C++的 引用
1.什么是“引用”?声明和使用“引用”要注意哪些问题? 答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。声明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。不能建立数组的引用。 一句话总结:引用为别名,原创 2011-02-20 09:16:00 · 523 阅读 · 0 评论 -
自己写的几个shell脚本片段
######################################################## 目的: 将该文件上传至服务器,监控用户登录信息####输出的文件名为 .root_192.168.1.66 用户名_主机IP#!/bin/shA=".原创 2011-07-31 13:55:49 · 509 阅读 · 0 评论 -
shell的FTP脚本
#!/bin/sh###FTP shellSERVER_IP=192.168.1.77SERVER_USER_NAME=testSERVER_USER_PWD=testSERVER_DIRECTORY=${HOME}/mydirLOCAL_DIRECTOR原创 2011-08-05 21:01:27 · 896 阅读 · 0 评论 -
shell调用expect
expect的作用不再累述 下面是一个简单的shell调用expect脚本的例子作用是从一个普通用户切换到root用户并做相关操作(删除root家目录下的myfile),然后切换回来 shell 脚本: test.sh #!/bin/shecho原创 2011-08-09 19:28:55 · 5768 阅读 · 0 评论 -
HashMap
#ifndef HASHMAP_H#define HASHMAP_H#include "stdlib.h"template class HashMap;/*=============================================================================================== HashNode======转载 2012-04-26 21:56:59 · 566 阅读 · 0 评论 -
c++ 链表相关
#include #include #include #define ok 1#define error 0struct linklist{ int id; struct linklist *next;};int init_linklist(struct linklist **head);int insert_linklist(struct linklist *head原创 2012-05-02 23:21:21 · 827 阅读 · 0 评论 -
数据结构之Treap
作者:Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://dongxicheng.org/structure/treap/1. 概述同splay tree一样,treap也是一个平衡二叉树,不过Treap会记录一个额外的数据,即优先级。Treap在以关键码构成二叉搜索树的同时,还按优先级来满足堆的性质。因而,Treap=tre转载 2012-04-20 22:18:31 · 752 阅读 · 0 评论 -
ScalienDB源码剖析 序章
在无意间,看到了 ScalienDB 的开放源代码,其优秀的源代码让我决定开始剖析,也希望能从中提高自己,经常加班,导致余下的时间非常少,希望能坚持下来。ScalienDB 还没有中文的源码剖析相关的文章,这也是我选择了其的原因,因为很多著名的源代码都已经被很多人剖析过了,我觉得自己也难于超越,索性从它开始,而且我相信其也是一款优秀的开放源码,涉及到了方方面面,很值得研究。原创 2012-04-20 22:44:43 · 874 阅读 · 0 评论 -
C语言实现的算法总结
快速排序 quick sort 基本思想:以一个数为参照,把比它小的排左边,比它大的排右边(从小到大排序) 左边找大于参照的,右边找小于参照的,找到就彼此交换。 5 6 9 1 10 8 7 2 3原创 2011-07-19 22:30:13 · 674 阅读 · 0 评论 -
STL::vector讲解
一、概述vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector是一个容器,它能够存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,可以动态改变大小。例如:// c语言风格int转载 2011-03-11 16:03:00 · 683 阅读 · 0 评论 -
c下面的回调函数
<br />/********************************************** 统一接口实现不同的内容***********************************************/#include <stdio.h>typedef int (*pfunc)(int); //定义一个函数指针int myfunc(int tmp){ printf("yeah,girl,this is my function/原创 2011-03-09 10:05:00 · 439 阅读 · 0 评论 -
[转]经典C/C++算法
<br />[转]经典C/C++算法<br />二分查找的代码.<br />int bfind(int* a,int len,int val)<br />{<br /> int m = len/2;<br /> int l = 0;<br /> int r = len;<br /> while(l!=m && r!= m)<br /> {<br /> if(a[m] > val)<br /> {<br /> r = m;<br原创 2011-03-09 18:23:00 · 717 阅读 · 0 评论 -
数字的翻转
#include using namespace std;void func(int tmp);int main(void){ int a; cin>>a; func(a); return 0;}void func(int tmp){ static bool flag=true; while ((tmp/10) != 0) { if (tmp%10 != 0) fla原创 2011-03-10 10:31:00 · 1528 阅读 · 0 评论 -
STL 算法
C++ 算法(STL) <br />Display all entries for C++ Algorithms on one page, or view entries individually:<br />accumulate<br />sum up a range of elements<br />求和:用初值与指定范围内的元素相加。重载的版本不再做加法,而是传进来的二元操作符被应用到元素上。<br />adjacent_difference<br />compute the differences原创 2011-03-09 18:41:00 · 697 阅读 · 0 评论 -
判断回文数
<br />#include <stdio.h>int toarray(unsigned int tmp,int * p);int main(int argc,char * argv[]){ unsigned int x; int i = 0; int j = 0; int k = 0; int a[32]; scanf("%u",&x); k = toarray(x,a); func(k,a); return 0;原创 2011-03-10 11:02:00 · 846 阅读 · 0 评论 -
gtest测试的使用(google出品)
<br />编写优美的GTest测试案例<br /> 使用gtest也有很长一段时间了,这期间也积累了一些经验,所以分享一下。GTest为我们提供了便捷的测试框架,让我们只需要关注案例本身。如 何在GTest框架下写出优美的测试案例,我觉得必须要做到:案例的层次结构一定要清晰案 例的检查点一定要明确案例失败时一定要能精确的定位问题案例执行结果一定要稳定案例执行的时间一定不能太长案例一定不能对测试环境造成破坏案例一定独立,不能 与其他案例有先后关系的依赖案例的命名一定清晰,容易理解<br />案例的可维护性也原创 2011-04-29 22:11:00 · 1167 阅读 · 0 评论 -
判断操作系统的位数和主机字节序s
实现了2个 函数,判断操作系统的位数和主机字节序#include stdio.h>int show_sys_bit(void);int show_sys_endian(void);int main(int argc,char * argv[]){ show_sys_bit(); show_sys_endian(); return 0; }/* 获取操作系统的位数 返回的为实际位数*原创 2011-06-27 22:49:00 · 1542 阅读 · 2 评论 -
Struct memset的陷阱
在c++代码中,在数据封装时,我还是用到了struct 如下: typedef struct Node{ int ID; string Content;}TNode;TNode node;然后在 使用前对其 初始化 memset(&node,0,sizeof(TNode));程序出现BUG ,发现 内存疯狂增长,原创 2012-06-08 19:54:08 · 2580 阅读 · 0 评论