- 博客(222)
- 资源 (40)
- 收藏
- 关注

原创 C++语言中级
《c++语言中级》 知识点总结:1. 类型决定了:大小、行为、存储方式、编译器检查依据;每个变量都有name、type、address、value、reference;变量生存周期从短到长: 临时、栈区、全局静态、堆区;2. 对象在内存中的布局:对象------仅有数据成员(非静态)this;函数------代码区3. 重载:同一个作用域内的几个函数,函数名相同,形参表
2014-02-28 20:07:12
1699

原创 C语言中级
《c语言中级》知识点总结:1. sizeof关键字:编译时确定,sizeof(对象),sizeof(类型),sizeof对象,sizeof(指针)=4.int a[5]; sizeof(a) = 20; sizeof(&a) = 20;2. c语言不允许定义空结构体; c++允许, sizeof() = 13. char *
2014-02-18 22:28:36
2133
1

转载 好久没有用c++,转一个c++注意点
一 编程设计 1.将程序划分为多个子系统,包括子系统间的接口和依赖关系、子系统间的数据流、在各子系统间的来回输入输出、以及总的线程模型。 2.各个子系统的具体细节,包括进一步细分的类、类层次体系、数据结构、算法、特定的线程模型和错误处理。二 设计流程 1.需求:功能需求和性能需求。 2.设计步骤 (1)把程序划分为通用功能
2013-12-31 22:08:44
733

转载 个人C++注意点(查漏补缺)
个人C++注意点(查漏补缺)(2008-10-25):1、A[0]它是一个表达式,而不是一个名字:(A+0)2、通过初始化列表赋初值:int a[2]={int(1),int(2)};3、前置声明只能用于引用和指针,不能用于对象4、构造函数天然具有类型转换功能,除非用explicit关闭5、指针的引用 int *p; int *&q=p; 但引用不能再有引用
2013-12-31 21:54:16
725

转载 GDB基本命令(整合)
原文地址:http://blog.youkuaiyun.com/water_cow/article/details/7214054一、gdb调试基本知识a.调试器指示的是将要执行的代码行b.只有在编译时拥有调试符号(-g)的程序才能在调试时看到源码c.同一行上有多个断点时,gdb仅中断在断点号最小的那个断点上d.断点可以设置在同一程序的不同文件中e.在任何给定时间,gdb只有一个焦点,
2013-07-06 18:24:26
709

原创 进程通信/线程同步方式总结
Unix进程通信方法:1.信号(signal)2.管道(pipe):父子进程,单向传输3.流管道(popen/pclose):可双向传输4.命名管道(mkfifo):可任意进程传输5.socket6.消息队列:msgget/msgctl/msgrcv/msgsnd7.共享内存:shmget/shmat/shmdt/shmctl8.信号灯:semget/semctl/
2011-08-01 23:01:26
743
转载 Oracle数据库教程笔记
视频链接地址:https://www.bilibili.com/video/av53956941数据库:数据的仓库 以前存放数据:内存、文件 内存: int num = 10 ; 问题:临时 文件: 解析/操作起来麻烦-》永久存放,方便解析/管理 ->数据库主流的关系型数据库: oracle:产品免费,服务收费,强大稳定性 安全性 m...
2020-02-09 11:54:48
1151
转载 MySQL数据库性能优化笔记
视频链接学习地址:https://www.bilibili.com/video/av29072634?from=search&seid=28881964761090384311.MySQL版本 5.x: 5.0-5.1:早期产品的延续,升级维护 5.4 - 5.x : MySQL整合了三方公司的新存储引擎 (推荐5.5) 安装:rpm -...
2020-02-09 11:45:36
495
转载 转载:深入浅出 Java Concurrency
http://www.blogjava.net/xylz/archive/2010/07/08/325587.html
2017-04-04 10:23:39
731
转载 [转]五分钟读懂UML类图
平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧:一、类的属性的表示方式在UML类图中,类使用包含类名、属性(field) 和方法(method) 且带有分割线的矩形来表示,比如下图表示一个Employee类,它包含name,age和email这3个属性,以及modifyInfo()方法。...
2015-11-16 20:57:05
4020
转载 C++11新特性
候选变更C++的修订包含核心语言以及标准程序库。在发展新标准的每个机能上,委员会采取了几个方向:维持与C++98,可能的话还有C之间的稳定性与兼容性;尽可能不通过核心语言的扩展,而是通过标准程序库来引进新的特色;能够演进编程技术的变更优先;改进 C++ 以帮助系统以及库设计,而不是引进只针对特别应用的新特色;增进类型安全,提供对现行不安全的技术更安全的替代方案;增进直接对硬
2015-11-13 21:59:47
565
转载 Python常用模块
********************PY核心模块方法********************os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir()
2015-09-26 11:00:53
800
原创 vector使用swap释放内存
“vector 的 clear 不影响 capacity , 你应该 swap 一个空的 vector。”当vector、string大量插入数据后,即使删除了大量数据(或者全部都删除,即clear) 并没有改变容器的容量(capacity),所以仍然会占用着内存。 为了避免这种情况,我们应该想办法改变容器的容量使之尽可能小的符合当前 数据所需(shrink to fit)《E
2015-07-19 20:15:28
1813
原创 stringstream进制转换与清空误区
一、清空误区清空stringstream,应该用 .str(""),用clear()是无效的,clear清空的是stream的状态(比如出错状态)二、进制转换#include #include #include int main(){ std::stringstream stream; std::string result; int
2015-07-19 20:09:24
2306
转载 SQL语句中inner join、left join、right join、full join的区别
转载地址:http://www.cnblogs.com/pcjim/articles/799302.htmlinner join(等值连接) 只返回两个表中联结字段相等的行, join默认为inner joinleft join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录,也叫left out joinright join(右联接) 返回包括右表中的所有记录和左表中联
2015-01-24 14:20:51
1229
原创 sqlserver命令行操作
一、本地数据库可以使用sqlcmd 直接进入命令行二、远程数据库可使用osqlosql -S localhost -U sa -P123456 -d cmedb进入命令行osql -S localhost -U sa -P123456 -d northwind -Q "select top 10 name from sysobjects"osql -S localhost -U s
2015-01-24 14:08:23
3851
原创 Oracle命令行操作方式
(1) 进入sqlplus界面sqlplus user/password@dbname(2)进入sqlplus界面 sqlplus /nolog SQL>conn sys/jiaxiaoai@orcl as sysdba;(4)查看当前所有的数据库 select * from v$database; 或 select
2015-01-24 14:02:02
812
原创 Sybase总结
链接:http://www.360doc.com/content/12/0523/23/4152160_213259047.shtml一、 系统数据库 安装Sybase数据库时自动生成的下列系统数据库: ● 主数据库master; ● 模型数据库model; ● 系统过程数据库sybsystemprocs; ● 临时数据库tempdb。 也可选择下列数据库: ● 安
2015-01-24 13:51:03
4725
转载 应该知道的Linux技巧
作者:陈皓 地址:http://coolshell.cn/articles/8883.html这篇文章来源于Quroa的一个问答《What are some time-saving tips that every Linux user should know?》—— Linux用户有哪些应该知道的提高效率的技巧。我觉得挺好的,总结得比较好,把其转过来,并加了一些自己的理解。 首先,
2014-12-11 10:55:03
699
原创 C语言简单写日志函数
#include #include #include /* debug level define */int g_dbg_level;FILE *g_log_fp;/* debug level */#define DBG_INFOR 0x01 // call information#define DBG_WARNING 0x02 // paramters
2014-12-11 09:52:03
6842
转载 《effective STL》读书笔记
转载地址:http://www.cnblogs.com/luxiaoxun/archive/2012/12/05/2803136.html#.string 建议 使用string 的方便性就不用再说了,这里要重点强调的是string的安全性。 string并不是万能的,如果你在一个大工程中需要频繁处理字符串,而且有可能是多线程,那么你一定要慎重(当然,在多线程下你使
2014-12-08 17:31:59
666
转载 STL中二分查找相关算法(binary_search, lower_bound, upper_bound, equal_range)
STL包含四种不同的二分查找算法,binary_search lower_bound upper_bound equal_range.他们作用的range是已sorted。 binary_search试图在已排序的[first, last)中寻找元素value。如果[first, last)内有等价于value的元素,它会返回true,否则返回false,它不返回查找位置。
2014-12-05 17:53:38
878
原创 effective STL 条款27 和 条款28
#include #include #include #include using namespace std;int main(){//条款27:用distance和advance把const_iterator转化成iterator typedef deque IntDeque; typedef IntDeque::iterator Iter; typedef IntD
2014-12-05 16:21:29
924
原创 数据库优化建议
1. 建立索引时,按照索引字段重复最少来排序,尽量建立复合索引。 2. 应考虑在where及order by涉及的列上建立索引。 3. select时,不要返回不需要的行。4. sql中where的第一个条件写聚集索引, where条件中建立了索引的字段要放在前面。5. 联合查询时,使用EXISTS(或NOT EXISTS)代替IN(或NOT IN
2014-12-04 15:09:10
731
转载 聚集索引和非聚集索引
聚集索引和非聚集索引: 【1】 聚集索引: 聚集索引,表中的数据存储位置,根据索引的排序进行实际存储,因此效率是相当高的。因为聚集索引决定了表中数据行的存储位置。 一个表不可能有两个或以上的聚集索引,如果一个表中已经有一个聚集索引,那么这个表中其他的索引都将是非聚集索引。 表排列顺序:表记录的排列顺序与索引的排列顺序一致。 查询速度快:因为一旦具有第一个
2014-12-04 14:11:34
689
转载 mysql执行计划解读
Explain语法EXPLAIN SELECT ……变体:1. EXPLAIN EXTENDED SELECT ……将执行计划“反编译”成SELECT语句,运行SHOW WARNINGS 可得到被MySQL优化器优化后的查询语句 2. EXPLAIN PARTITIONS SELECT ……用于分区表的EXPLAIN执行计划包含的信息 id包含一组数字,
2014-12-03 15:41:40
538
原创 C语言ASCII转UCS-2
#include #include #include #include #include int convert(char *inbuf,int inlen,char *outbuf,int outlen) { char **pin = &inbuf; char **pout = &outbuf; iconv_t cd = iconv_open("UCS-2
2014-11-26 18:12:30
1377
原创 二分查找算法
#include using namespace std;int BinarySerach(int *array, int size, int val){ int l = 0, r = size -1, tmp; while (l < r) { tmp = (l+r)/2; if (val == array[tmp]) { return tmp; } el
2014-11-25 14:21:20
574
转载 auto_ptr使用总结
(1) auto_ptr的意义auto_ptr是一种智能指针,当系统异常退出的时候避免资源泄漏(内存)。其他的资源还对应其他的智能指针。(2) auto_ptr的使用std::auto_ptr test(new int(1));test将是一个auto_ptr的对象,使用一个int指针进行初始化。test可以象其他指针一样使用,如使用* 使用->但是++不可以使用,
2014-11-24 15:14:13
1310
转载 STL算法
转载地址:http://www.cnblogs.com/kzloser/archive/2012/11/02/2751424.html
2014-11-20 15:34:48
560
原创 C语言编码规范--->自己需要注意的项
头文件:1.每一个.c文件应有一个同名.h文件,用于声明需要对外公开的接口。2.禁止头文件循环依赖。3.头文件应当自包含(任意一个头文件均可独立编译)。4.禁止在extern"C"中包含头文件。5.禁止在头文件中定义变量,如果头文件被其他文件包含,会引发重复定义。6.只能通过包含头文件的方式使用其他.c提供的接口,
2014-11-10 20:25:53
4430
转载 Posix共享内存区
1、概述 Posix提供了两种在无亲缘关系进程间共享内存区的方法:(1)内存映射文件:先有open函数打开,然后调用mmap函数把得到的描述符映射到当前进程地址空间中的一个文件(上一篇笔记所用到的就是)。(2)共享内存区对象:先有shm_open打开一个Posix IPC名字(也可以是文件系统中的一个路径名),然后调用mmap将返回的描述符映射到当前进程的地址空间。者两种方法多需要
2014-10-26 11:57:08
824
转载 Posix消息队列
消息队列可以认为是一个消息链表,某个进程往一个消息队列中写入消息之前,不需要另外某个进程在该队列上等待消息的达到,这一点与管道和FIFO相反。Posix消息队列与System V消息队列的区别如下:1. 对Posix消息队列的读总是返回最高优先级的最早消息,对System V消息队列的读则可以返回任意指定优先级的消息。2. 当往一个空队列放置一个消息时,Posix消息队列允许产生一个信号或
2014-10-26 11:19:27
646
转载 Linux线程同步之读写锁
读写锁比mutex有更高的适用性,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。1. 当读写锁是写加锁状态时,在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞;2. 当读写锁在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权,但是以写模式对它进行枷锁的线程将阻塞;3. 当读写锁在读模式锁状态时,如果有另外线程试图以写模式加锁,读写锁通常
2014-10-23 11:37:00
739
原创 题目:N个元素取出最大的K个元素
解法一 快速排序:利用快速排序中的partition操作,经过partition后,pivot左边的序列sa都大于pivot右边的序列sb;如果|sa|==K或者|sa|==K-1,则数组的前K个元素就是最大的前K个元素,算法终止;如果|sa|如果|sa|>K,则从sa中寻找前K大的元素。分析: 一次partition(arr,begin,end)操作的复杂度为end-begi
2014-10-22 11:00:04
1786
转载 最长公共子串LCS算法
转载地址:http://www.cnblogs.com/dartagnan/archive/2011/10/06/2199764.html LCS问题就是求两个字符串最长公共子串的问题。解法就是用一个矩阵来记录两个字符串中所有位置的两个字符之间的匹配情况,若是匹配则为1,否则为0。然后求出对角线最长的1序列,其对应的位置就是最长匹配子串的位置.下面是字符串21232523311
2014-10-22 09:48:44
957
转载 五大算法五:分支界限法
一、基本描述 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。 (1)分支搜索算法 所谓“分支”就是采用广度优先的策略,依
2014-10-21 17:03:10
737
转载 五大算法四:回溯算法
1、概念 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。 许多复杂的
2014-10-21 16:54:50
1130
转载 五大算法三:贪心算法
一、基本概念: 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。 贪心算法没有固定的算法框架,算法设计的关键是贪心策略的选择。必须注意的是,贪心算法不是对所有问题都能得到整体最优解,选择的贪心策略必须具备无后效性,即某个状态以后的过程不会影响以前的状态,只与当前状态有关。
2014-10-21 16:49:12
612
转载 五大算法二:动态规划
一、基本概念 动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。二、基本思想与策略 基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通
2014-10-21 16:38:03
716
ActivePerl-5.14.2.1402-MSWin32-x86-295342.msi
2011-10-28
More Effective C++.pdf
2011-10-17
VC编程百例
2011-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人