
C/C++编程
文章平均质量分 58
wuChen4646
专注云计算领域
展开
-
编程实现C函数 atoi atof
一,编程实现 atoi函数 (原创 2014-11-09 15:00:16 · 957 阅读 · 0 评论 -
c++友元
通过友元的方式,某个普通函数或者类的成员函数可以访问某个类中的私有数据,友元提供了一种不同类或对象的成员函数之间、类的成员函数与普通函数之间共享数据的机制。 有两种形式的友元: (1)友元函数:普通函数对一个访问某个类中的私有或保护成员。 (2)友元类:类A中的成员函数访问类B中的私有或保护成员。1.友元函数 友元函数是在类的声明中用关键字friend修饰的普通函数或者其他类的成员函数。原创 2016-06-11 17:51:13 · 439 阅读 · 0 评论 -
指针与引用c
引用的基本概念:指针和引用之间的区别: 总结如下: (1)非空区别. 引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。 并且不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL),一个引用必须总是指向某些对象. (2)可修改区别:指针可以重新赋值以指向另一个不同的对象.但是引用则总是指向在初始化时被指定的对象,以后不能改变 (3)传递性区别: 指针传递原创 2016-06-11 15:15:57 · 600 阅读 · 0 评论 -
C++学习笔记 指针与引用的区别
define: 宏定义。 在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。由预处理器处理。define ASPECT_RATIO 1.653记号名称ASPECT_RATIO也许从未被编译器看见,在编译器处理源代码之前就可能被预处理器移走了。于是记号就有可能没有进入到符号表中。原创 2016-06-11 14:56:40 · 392 阅读 · 0 评论 -
C++学习笔记 代替define
define: 宏定义。 在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。由预处理器处理。#define ASPECT_RATIO 1.653记号名称ASPECT_RATIO也许从未被编译器看见,在编译器处理源代码之前就可能被预处理器移走了。于是记号就有可能原创 2016-06-11 14:26:47 · 2288 阅读 · 0 评论 -
linux下利用valgrind工具进行内存泄露检测和性能分析
valgrind通常用来成分析程序性能及程序中的内存泄露错误一 Valgrind工具集简绍Valgrind包含下列工具: 1、memcheck:检查程序中的内存问题,如泄漏、越界、非法指针等。 2、callgrind:检测程序代码的运行时间和调用过程,以及分析程序性能。 3、cachegrind:分析CPU的cache命中率、丢失率转载 2015-03-14 11:09:44 · 495 阅读 · 0 评论 -
Python程序执行原理+
1. 过程概述Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后虚拟机一条一条执行字节码指令,从而完成程序的执行。2. 字节码字节码在Python虚拟机程序里对应的是PyCodeObject对象。.pyc文件是字节码在磁盘上的表现形式。3. pyc文件PyCodeObject对象的创建时机是模块加载的时候,即import。Python test.py转载 2015-03-30 21:28:15 · 579 阅读 · 0 评论 -
C++内存泄漏检查心得
闲话少说,切入正题,本人在参与一个大型Win32软件项目时,对整个项目进行了内存泄漏方面的检查,随着泄漏代码的一个个发现,发现许多的泄漏都具有某些共同性,于是乎总结了一些常见泄漏代码,发给同事们看了。希望能提醒下大家,但后来在项目的二期、三期版本出现的泄漏发现和以前的一些问题几乎是同一性质的,回过来看以前写的一些笔记发现都概括了(当时觉得自己是有那么两把刷子,^_^)。于是想到也许很多编程同志也会转载 2015-03-30 15:52:07 · 2523 阅读 · 0 评论 -
C、python 、java内存管理区别
一、C一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量转载 2014-12-07 10:34:11 · 3329 阅读 · 1 评论 -
回溯算法(1)
搜索与回溯是计算机解题中常用的算法,很多问题无法根据某种确定的计算法则来求解,可以利用搜索与回溯的技术求解。回溯是搜索算法中的一种控制策略。它的基本思想是:为了求得问题的解,先选择某一种可能情况向前探索,在探索过程中,一旦发现原来的选择是错误的,就退回一步重新选择,继续向前探索,如此反复进行,直至得到解或证明无解。原创 2014-11-07 16:25:19 · 680 阅读 · 0 评论 -
常见的C字符串处理函数的源代码
以下是一些常见的C字符串处理函数的源代码,当然也是从网上找来的,学习它一个好处是加深理解C,另一个好外是应聘面试中的笔试常常会用到它们,呵呵。当然,还有一些没有列出来,或者有更好的实现方法,你可以贡献一下哦,share your code! :)//stirng.c==================================================char *strcp转载 2014-11-05 21:34:08 · 573 阅读 · 0 评论 -
随机算法 实现估算集合的势
问题描述:估算一个集合中元素的个数原创 2014-11-25 15:27:32 · 1145 阅读 · 2 评论 -
C指针总结--指针运算
关于指针运算的总结:原创 2014-11-04 21:18:05 · 605 阅读 · 0 评论 -
linux下缓冲区溢出
最近一段时间,在网上搜索关于缓冲区溢出攻击的文章,实验了一下,成功实现了缓冲区溢出攻击,现在把过程记录下来。 [cpp] view plaincopy#include #include void hello() { printf("hello\n"); } int fun(char *str) { char b转载 2014-11-19 21:19:49 · 1320 阅读 · 0 评论 -
约瑟夫C语言实现
最近几个月学JAVA,python比较多,很久没怎么写C代码了,最近开始决定用C实现一些算法练练手,不然马上研一下学期实验室项目启动以后要用C做项目写大量代码就囧了。 先写一个约瑟夫环的算法实现 约瑟夫环问题:n个人围成一圈,从第k人个开始报数,假设数到m的人出圈,最后剩下一个,求这个人的编号。解题思路比较清晰:一般有2种实现方法,比较经典的就是用n个节原创 2014-10-31 15:47:58 · 2154 阅读 · 0 评论 -
C++学习笔记-构造函数
1.构造函数 构造函数的作用就是在对象被创建时利用特定的初始值构造对象,把对象置于某一个初始状态,它在对象被创建的时候由系统自动调用,我们只需要使用默认的构造函数或者自己定义构造函数,而不用管怎么调用的。 构造函数也是类的成员函数,除了有成员函数的所有特征外,还有一些不同之处:构造函数的函数名跟类名一样,而且没有返回值。构造函数一般被声明为公有函数,除非我们不允许某原创 2016-06-07 16:20:00 · 479 阅读 · 0 评论