C语言
文章平均质量分 65
B10090411
这个作者很懒,什么都没留下…
展开
-
c语言time.h函数库小结
一、重要的宏:CLOCKS_PER_SEC:每秒钟的滴答数clock_t:滴答计数类型time_t:日历时间的秒计数二、重要数据类型:struct tm:年月日等得细分时间数据结构三、全部函数:clock_t clock( void );返回本程序自启动来,流逝的时钟滴答数。 double difftime( time转载 2015-08-08 15:02:31 · 764 阅读 · 0 评论 -
C++四种类型转换
1 reinterpret_cast'reinterpret_cast'转换一个指针为其它类型的指针。它也允许从一个指针转换为整数类型。反之亦然。(译注:是指针具体的地址值作为整数值?)这个操作符能够在非相关的类型之间转换。操作结果只是简单的从一个指针到别的指针的值的二进制拷贝。在类型之间指向的内容不做任何类型的检查和转换。如果情况是从一个指针到整型的拷贝,内容的解释是系统相关转载 2015-12-28 23:20:38 · 304 阅读 · 0 评论 -
隐式转换
首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么区别呢? 我们来看下面的例子:class CxString // 没有使用explicit转载 2015-12-28 20:06:19 · 848 阅读 · 0 评论 -
C++中静态成员函数和非静态成员函数的区别
它们的根本区别在于静态成员函数没有this指针,而非静态成员函数有一个指向当前对象的指针this。例如: 1 class Sc 2 { 3 public: 4 void nsfn(int a); //像声明Sc::nsfn(Sc *this , int a); 5 static void sfn(int a); // 无this指针 6 /转载 2016-01-05 15:50:36 · 1125 阅读 · 0 评论 -
构造函数
1当用类的一个对象初始化该类的另一个对象时.例如:C/C++ codeint main(){ point A(1,2); point B(A);//用对象A初始化对象B,拷贝构造函数被调用.}2 如果函数的形参是类的对象,调用函数时,进行形参和实参结合时. C/C++ codevoid f(point p){}main(){ poi转载 2016-01-13 14:43:53 · 313 阅读 · 0 评论 -
pthread_cond_wait和pthread_cond_signal 用法详解
LINUX环境下多线程编程肯定会遇到需要条件变量的情况,此时必然要使用pthread_cond_wait()函数。但这个函数的执行过程比较难于理解。 pthread_cond_wait()的工作流程如下(以MAN中的EXAMPLE为例): Consider two shared variables x and y, protected by the mutex mut,转载 2016-09-21 21:32:32 · 2271 阅读 · 0 评论 -
sigwait 函数的使用
线程可以使用sigwait 等待一个或者多个信号的发生原创 2016-09-22 11:47:05 · 683 阅读 · 0 评论 -
SIFT和surf
高斯拉普拉斯(Laplace of Gaussian)kezunhai@gmail.comhttp://blog.csdn.net/kezunhai Laplace算子作为一种优秀的边缘检测算子,在边缘检测中得到了广泛的应用。该方法通过对图像求图像的二阶倒数的零交叉点来实现边缘的检测,公式表示如下:由于Laplace算子是通转载 2016-11-07 20:31:09 · 7355 阅读 · 0 评论 -
C++本质:类的赋值运算符=的重载,以及深拷贝和浅拷贝
关键词:构造函数,浅拷贝,深拷贝,堆栈(stack),堆heap,赋值运算符摘要: 在面向对象程序设计中,对象间的相互拷贝和赋值是经常进行的操作。 如果对象在申明的同时马上进行的初始化操作,则称之为拷贝运算。例如: class1 A("af"); class1 B=A; 此时其实际调用的是B(A)这样的浅拷贝操作。 如果对象在申明之后转载 2015-12-28 20:14:49 · 307 阅读 · 0 评论 -
C 语言中static的作用
static的作用(精辟分析) 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 char a =转载 2015-11-25 09:47:39 · 393 阅读 · 0 评论 -
C语言-time.h从头学(转)
本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。 关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元) 1.概念 在C转载 2015-08-08 14:50:51 · 499 阅读 · 0 评论 -
C语言文件读写操作总结
C语言文件操作一、标准文件的读写1.文件的打开fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了。当使用打开函数时,必须给出文件名、文件操作方式(读、写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开转载 2015-08-08 16:43:14 · 422 阅读 · 0 评论 -
C语言函数栈调用二
5 函数调用约定创建一个栈帧的最重要步骤是主调函数如何向栈中传递函数参数。主调函数必须精确存储这些参数,以便被调函数能够访问到它们。函数通过选择特定的调用约定,来表明其希望以特定方式接收参数。此外,当被调函数完成任务后,调用约定规定先前入栈的参数由主调函数还是被调函数负责清除,以保证程序的栈顶指针完整性。函数调用约定通常规定如下几方面内容:1) 函数参数的传递顺序和方式最常见的转载 2015-08-04 15:10:17 · 741 阅读 · 0 评论 -
函数栈
函数调用--函数栈函数调用大家都不陌生,调用者向被调用者传递一些参数,然后执行被调用者的代码,最后被调用者向调用者返回结果,还有大家比较熟悉的一句话,就是函数调用是在栈上发生的,那么在计算机内部到底是如何实现的呢? 对于程序,编译器会对其分配一段内存,在逻辑上可以分为代码段,数据段,堆,栈代码段:保存程序文本,指令指针EIP就是指向代码段,可读可执行不可写数据段转载 2015-07-27 20:02:28 · 373 阅读 · 0 评论 -
C语言中内存对齐规则讨论
.什么是内存对齐?现代计算机中内存空间都是按着byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就是需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2.为什么内存要对齐?大部分的参考资料都是如是说的:①、平台原因(移植原因):不是所有的硬件平台都能访转载 2015-08-04 14:19:29 · 509 阅读 · 0 评论 -
系统调用和c库之间的关系
Tips: 用man查询函数时候有些并不能直接man + 函数名查到,例如:man fopen man 2 open所以可以用man+数字+函数名来试试,具体的内容可以查看 /usr/local/share/man/下面对应的目录Linux man 手册的维护者2010-10 Oreilly 出了一本叫做>的书,我看了下是关于系统调用和C库函数的.因为在man的官方网站(http:转载 2015-08-04 11:58:45 · 598 阅读 · 0 评论 -
C语言函数调用栈一
程序的执行过程可看作连续的函数调用。当一个函数执行完毕时,程序要回到调用指令的下一条指令(紧接call指令)处继续执行。函数调用过程通常使用堆栈实现,每个用户态进程对应一个调用栈结构(call stack)。编译器使用堆栈传递函数参数、保存返回地址、临时保存寄存器原有值(即函数调用的上下文)以备恢复以及存储本地局部变量。不同处理器和编译器的堆栈布局、函数调用方法都可能不同,但堆栈的基本概念转载 2015-08-04 14:46:01 · 647 阅读 · 0 评论 -
文本文件读取和二进制文件读写的区别
一、写 二进制方式写,当遇到整型和浮点数时是以小端模式的整个十六进制值写入到文件中(和内存中一样),当遇到ascii字符和utf-16(unicode)类型的字符时候是用该编码的key值(unicode 16字节时候不作为小端模式而是书写模式存储)写入到文件中(和内存中一样)。 文本方式写,文本方式会根据当前程序使用的编码方式,将所有整型/浮点数/字符,都当做字符一个个转载 2015-08-04 20:11:25 · 3429 阅读 · 0 评论 -
Tr1 Function
Tr1::function的介绍它是一个类模板,类的成员变量是一个函数指针。可以把它看作一个智能函数指针(和shared_ptr智能指针对比着理解)。一. 头文件#include二. 使用//t.cpp#include "stdafx.h"#include#includeusing namespace std;void foo(int i){cout"转载 2016-11-15 15:19:23 · 519 阅读 · 0 评论