C与C++编程
文章平均质量分 75
willian0621
这个作者很懒,什么都没留下…
展开
-
typedef int int_array[4]
#include using namespace std;int main(){ int ia[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}; typedef int int_array[4]; for (int_array *p =ia;p!= ia+3;++p) { for (int *q=*p;q!=*p+4;++q)转载 2013-03-04 17:57:34 · 817 阅读 · 0 评论 -
位结构体
位结构体位结构 节省存贮空间 “:”操作符 位域 一、首先说概念:位结构是一种特殊的结构, 在需按位访问一个字节或字的多个位时, 位结构比按位运算符更加方便。 位结构定义的一般形式为: struct 位结构名{ 数据类型 [变量名]: 整型常数; //成员称为“位域”或者“位段”数据类型 [变量名]: 整型常数; } 位结构变量; 其中转载 2013-04-26 22:09:20 · 577 阅读 · 0 评论 -
快速排序算法C++实现
今天花点时间看了一下快速排序的原理,写了一下程序,现把程序粘贴如下: #includeusing namespace std;int main(){int a[8]={49,38,65,97,76,13,27,49};int low=0;int high=7;for(int i=0;icoutcoutvoid qs(int v[],int ,int原创 2013-08-19 23:01:56 · 633 阅读 · 0 评论 -
什么是 OOAD
OOAD(Object Orient Analysis & Design,面向对象的分析和设计,面向对象分析与设计)是现代软件企业广为采用的一项有效技术。OOAD方法要求在设计中要映射现实世界中指定问题域中的对象和实体,例如:顾客、汽车和销售人员等。这就需要设计要尽可能地接近现实世界,即以最自然的方式表述实体。所以面向对象技术的优点即为能够构建与现实世界相对应的问题模型,并保持他们的结构、关系转载 2013-08-22 08:55:45 · 724 阅读 · 0 评论 -
智力题攻略——推理类
1、猜数字一个教授逻辑学的教授,有三个学生,而且三个学生均非常聪明,一天教授给他们出了一个题,教授在每个人脑门上贴了一张纸条并告诉他们,每个人的纸条上都写了一个正整数,且某两个数的和等于第三个!(每个人可以看见另两个数)教授问第一个学生:你能猜出自己的数吗?回答:不能,问第二个,不能,第三个,不能,再问第一个,不能,第二个,不能,第三个:我猜出来了,是144!教授很满意的笑了。请问您能猜出另外原创 2013-10-14 19:08:39 · 4756 阅读 · 0 评论 -
SIZEOF函数总结
在C++中使用sizeof运算符并不会带来一致的结果,sizeof的用法像是一个函数,在C++中它被定义为一个关键字,从测试结果来看它不是以函数的方式实现,并且也不应该以函数的方式实现,因为在标准库函数中大量用到sizeof运算符,如果是以函数的方式实现必将带来严重的效率问题。如下是一段测试代码,用G++和MS VC++分别编译出现不同的结果。#include#include转载 2013-10-16 11:06:26 · 5740 阅读 · 0 评论 -
int int& int * int**的区别、联系和用途(一)
1、int;int是C++关键字,表示整型,其大小是32位有符号整型,表示的范围是-2,147,483,648 到 2,147,483,647;在声明和定义变量时使用,它表示的意思是所声明或所定义的变量为整型变量。如果其用于函数参数时,其传递方向为值传递,即只能将实参的值传递给形参,而不能将形参的值传递给实参。例如:通过这种方式去进行交换两个数是无法达到目的的。例子1:原创 2013-10-17 17:47:27 · 55064 阅读 · 7 评论 -
非C++内建型别A和B, 在哪几种情况下B能隐式转化为A?
[cpp] view plaincopyprint?// Case 1 : B公有继承自A class B : public A { ... } [cpp] view plaincopyprint?// Case 2 : B实现了隐式转化为A的转化 class B转载 2013-10-24 21:47:25 · 842 阅读 · 0 评论 -
C++中的空类,默认产生哪些类成员函数?
答:class Empty{ public: Empty(); // 缺省构造函数 Empty( const Empty& ); // 拷贝构造函数 ~Empty(); // 析构函数 Empty& operator=( const Empty& ); // 赋值运算符 Empty* operator&();转载 2013-10-24 21:52:20 · 661 阅读 · 0 评论 -
内部排序算法——选择排序
选择排序法可使用两种方式排序:从小到大或从大到小;例如:当N个数据需要由大至小排序时,首先将第一个位置的数据依次和第2、3、4……、N个位置的数据进行比较。如果数据大于或等于其中一个位置,则不变;若小于其中一个位置的数据,则两个位置的数据互换。互换后第1个位置的数据继续与后续位置的数据进行比较,直到位置最末端,此时第一个位置的数据即为此排序数组的最大值。接下来选择第二个位置的数据,依次与第3、4…原创 2013-11-11 10:27:08 · 769 阅读 · 0 评论 -
图像缩放算法及速度优化——(一)最近邻插值
第0节 简介 图像缩放算法是数字图像处理算法中经常遇到的问题。我们经常会将某种尺寸的图像转换为其他尺寸的图像,如放大或者缩小图像。OpenCV中的Resize() 函数非常方便而且效率非常高。下面是OPENCV提供的cvResize函数原型。/******************************************************************转载 2013-03-17 22:56:36 · 9320 阅读 · 0 评论 -
图像缩放算法及速度优化——(二)双线性插值
双线性插值作为OpenCV中默认使用的图像缩放算法,其效果和速度都是不错的。并且效果也比较稳定,计算复杂度并不算太高。我看了很多网上的算法,自己也没看太懂,下面是从网上找的双线性插值 算法的讲解。 “图像的双线性插值放大算法中,目标图像中新创造的象素值,是由源图像位置在它附近的2*2区域4个邻近象素的值通过加权平均计算得出的。双线性内插值算法放大后的图像质量较高,不会出现像素值不连续的的转载 2013-03-17 23:00:12 · 11718 阅读 · 0 评论 -
vs2008读取位图
今天,在看代码的时候,遇到了读取位图格式信息时出现了一些问题,先讲一下几个函数:1、文件打开函数:在定义FILE * fp 之后,fopen的用法是: fp = fopen(filename,"w")。而对于fopen_s来说,还得定义另外一个变量errno_t err,然后err = fopen_s(&fp,filename,"w")。返回值的话,对于fopen来说,打开文件成功的话返回原创 2013-03-14 11:31:13 · 1106 阅读 · 0 评论 -
fseek()用法
意思是把文件指针指向文件的开头fseek 函数名: fseek 功 能: 重定位流上的文件指针 用 法: int fseek(FILE *stream, long offset, int fromwhere); 描 述: 函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置。如果执行失败(比如off转载 2013-03-05 14:41:58 · 922 阅读 · 0 评论 -
fread()和fwrite()函数分析
1.函数功能 用来读写一个数据块。2.一般调用形式 fread(buffer,size,count,fp); fwrite(buffer,size,count,fp);3.说明 (1)buffer:是一个指针,对fread来说,它是读入数据的存放地址。对fwrite来说,是要输出数据的地址。 (2)size:要读写的字节数; (3)count:要转载 2013-03-05 14:48:26 · 847 阅读 · 0 评论 -
InterlockedDecrement用法注意的事项 .
在多线程编程中,我们经常用到InterlockedDecrement , 此处有个细节问题,简单聊一下.下面的程序用mReferenceCount来控制是否要删除自己. void AddRef(){InterlockedIncrement(&mReferenceCount);}void Release(){InterlockedDecrement(&m转载 2013-03-07 08:48:02 · 647 阅读 · 0 评论 -
__BEGIN__; __END__ - [OPENCV]
文章原始出处和作者信息及本声明http://shijuanfeng.blogbus.com/logs/205062662.html__BEGIN__; __END__是opencv中的一种错误处理机制,它可以防止非法的内存释放,以及内存泄露#define __BEGIN__ {#define __END__ goto exit; exit: ; } 防止内存非法释放的一转载 2013-03-11 11:19:53 · 1131 阅读 · 0 评论 -
vs2008编译连接出现的一个问题
今天,在编译连接QR解码程序时,总是提示有以下错误:正在编译...bitstream.cppcodedata.cppcontainer.cppecidecoder.cpph:\qr码程序\qrdecode(自己建)\qrdecode\qrdecode\ecidecoder.cpp(168) : warning C4996: '_snprintf': This functio原创 2013-03-12 17:29:51 · 5471 阅读 · 2 评论 -
VC中创建DLL,导出全局变量,函数和类
一.创建DLL1.在VC中新建一个Win32空项目MathLib;2.添加预编译头文件stdafx.h,定义导入导出控制符号: 1: //stdafx.h 2: #pragma once 3: #define MATHLIB_EXPORT3.添加包含要导出的全局变量,函数和类的头文件MathLib.h: 1: //MathLib.h 2: #pragma转载 2013-03-01 22:27:21 · 788 阅读 · 0 评论 -
多线程编程之一——问题提出
一、问题的提出 编写一个耗时的单线程程序: 新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:1.voidCSingleThreadDlg::OnSleepSixSecond() 2.{3. S转载 2013-03-01 22:39:28 · 433 阅读 · 0 评论 -
面试时所遇问题总结
一、int *p[10] ,int (*p)[10], int (*p)(int) ,int (*p[10])(int) 这四个分别是什么意思?int *p[10] 定义一个含有10个int类型的指针的数组 (网上说法:10个指向int类型的指针;()的优先级最高,所以p是一个指针,指向一个维度为10的一维数组int (*p)[10] 定义一个含有10个int类型的数组,并让指原创 2014-03-16 17:07:08 · 841 阅读 · 0 评论