C/C++
文章平均质量分 55
greenapple_shan
这个作者很懒,什么都没留下…
展开
-
scanf 输入双精度浮点数
%f是但进度浮点数的格式双精度浮点数应用%lf,改一下就行了因为double是8个字节的,float是4个字节的,%f 的格式就是4个字节的,而 %lf 就是8个字节的#include #include int main( void ){ double x; scanf("%lf",&x); //输入double型 float x; scanf("%f", &x转载 2014-01-10 16:46:46 · 13387 阅读 · 0 评论 -
InstallShield Limited Edition for Visual Studio 2013 图文教程
InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET Framework进去)本文转自“吾乐吧软件站”,原文链接:http://www.wuleba.转载 2015-03-15 17:01:46 · 1220 阅读 · 0 评论 -
vector<vector<int>>
/************************************************************************ Copyright (C) 2015-2020. File name: Author: Greenapple QQ: 361348440 EMail: 36原创 2015-03-15 14:00:32 · 1190 阅读 · 0 评论 -
C++类成员对象析构问题
代码块原创 2015-05-03 10:41:02 · 2843 阅读 · 1 评论 -
C++拷贝构造函数
#include <iostream>using namespace std;class Test1{public: Test1() { //赋值 //p=NULL; // or p=new int; } //重要 Test1& operator=(const Test1& test1) { i原创 2015-05-03 14:19:18 · 595 阅读 · 0 评论 -
C++拷贝构造函数和=赋值运算符详解
首先明确一点:系统已经提供了默认的 拷贝构造函数 和 =复制运算符。 即所谓的浅拷贝。但有时,我们必须提供自己重写。一般是在有指针的情况下重写。举个简单的例子,没有指针,其实不必重写,只是为了演示:[cpp]class Fraction{ private: int fenmu; //分母 int fenzi; //分子 publ转载 2015-05-05 14:38:16 · 558 阅读 · 0 评论 -
C++ M_PI
C++ M_PI#define _USE_MATH_DEFINES#include <cmath>#include <iostream>using namespace std;int main(){ cout << M_PI << endl; return 0;}原创 2015-05-05 12:30:12 · 5599 阅读 · 0 评论 -
C语言中的atan和atan2
在C语言的math.h或C++中的cmath中有两个求反正切的函数atan(double x)与atan2(double y,double x) 他们返回的值是弧度 要转化为角度再自己处理下。前者接受的是一个正切值(直线的斜率)得到夹角,但是由于正切的规律性本可以有两个角度的但它却只返回一个,因为atan的值域是从-90~90 也就是它只处理一四象限,所以一般不用它。第二个ata转载 2015-04-12 20:51:13 · 1321 阅读 · 0 评论 -
VS2012编译器可不可以把堆内存改到4G
VS2012编译器可不可以把堆内存改到4G 和程序员聊聊PC下的内存地址转载 2015-05-13 16:15:42 · 1140 阅读 · 0 评论 -
头文件为什么要加#ifndef #define #endif
#ifndef 在头文件中的作用在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量“重定义”的错误。在头文件中实用#ifndef #define #endif能避免头文件的重定义。方法:例如要编写头文件test.h在头文件开头写上两行:#ifndef _TEST_H#define _TEST转载 2015-05-15 09:45:34 · 536 阅读 · 0 评论 -
VC++常规错误之一:error LNK2019: 无法解析的外部符号 "public: void __thiscall
error LNK2019: 无法解析的外部符号 “public: void __thiscall遇到这种情况原因有二个,简单点说: 其一:某个方法只是在.h里面声明,没有在cpp里面实现。 其二:声明和实现都有了,但是没有添加到vs的虚拟工作目录下面,这时候如果在其他.cpp引用的话就抱这个错比如我新建项目导入别人的代码的时候,忘记在上图显示的虚拟目录下添加CSContentJsonDicti转载 2015-05-15 14:24:33 · 7364 阅读 · 0 评论 -
C/C++中计算程序运行时间
以前经常听人提起如何计算程序运行时间,给出一系列函数,当时没有注意,随便选了clock()最简单的方式进行计算。等到真正需要检测程序性能提升了多少,才发现这里面有很多要注意的地方。最常用的的方式:#includetime_t start = clock();time_t end = clock();printf("the running time转载 2015-05-17 21:23:49 · 806 阅读 · 0 评论 -
计算时间间隔
time_t 获得时间只能精确到秒,clock_t 获得时间能够精确到毫秒#include clock_t start,ends; start=clock();system("pause"); ends=clock(); cout原创 2015-05-17 22:37:03 · 2032 阅读 · 0 评论 -
C++ limits头文件的用法(numeric_limits)
初学C++的时候,对这个模板很陌生,不知道它到底是做什么用的,今天拿起《C++标准程序库》,出现了它的讨论,所以决定好好研究一番。1. numeric_limits是什么?(A)《C++标准程序库》:[cpp] view plaincop一般来说,数值型别的极值是一个与平台相关的特性。C++标准程序库通过template nu转载 2015-05-17 16:45:50 · 697 阅读 · 0 评论 -
使用ffmpeg进行图像格式转换以及图像缩放/sws_scale/linux/c++/c/rgb-yuv420
利用ffmpeg进行图像数据格式的转换以及图片的缩放应用中,主要用到了swscale.h文件中的三个函数,分别是: struct SwsContext *sws_getContext(int srcW, int srcH, enum AVPixelFormat srcFormat, int dstW, int dst转载 2015-05-22 11:24:39 · 1108 阅读 · 0 评论 -
多线程之三:MFC多线程及实例
MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API编程而言,这两种线程是没有区别的,它们都转载 2015-05-19 16:39:35 · 676 阅读 · 0 评论 -
MFC 多线程通信 MultiThread7实例
最近学习多线程方面的知识,网上下载的MultiThread7的源代码,在VC6.0里面运行没有问提,直接从VC6.0转到VS2005也没有什么问题,都可以成功运行并得到结果。 但是,自己动手在VS2005新建工程实现相同的功能确遇到了问题。第一个是:errorC2440: “static_cast”:无法从“LONG (__thiscall CCa转载 2015-05-19 21:25:40 · 1144 阅读 · 1 评论 -
一维数组和二维数组矩阵乘法
//二维数组存储矩阵乘法 void multi(int a[3][3], int b[3][2]){ for (int i=0;i<3;i++) //i代表a矩阵的行数 { for (int j=0;j<2;j++) //j代表b矩阵的列数 { for (int k=转载 2014-11-23 16:19:13 · 8787 阅读 · 0 评论 -
C++ Sleep Function 用法 Sleep(-1)
//============================================================================// Name : TestSleepFunction.cpp// Author :// Version :// Copyright : 2014// Description : Test Slee原创 2014-10-10 17:38:28 · 4915 阅读 · 1 评论 -
命名空间
内联命名空间机制是通过一种支持版本更新的机制来支持库的演化,推导:// file V99.h: inline namespace V99 { void f(int); // does something better than the V98 version void f(double); // new feature // ...原创 2014-01-15 12:19:29 · 718 阅读 · 0 评论 -
i++ 和 ++i 效率的分析以及自定义类型的自增/自减运算符重载实例
我们通常在写for循环 的时候,要实现变量 i 的自增 1 ;往往会在i++ 和++i中随便挑一种写,对于i++和++i的理解,我们往往停留在返回的值的不同,其实i++与++i在实现效率上也有一定的不同(不考虑编译器优化的原因)。++i的实现效率更高解释如下:i++ (在C++中) 在实现的时候,系统会产生一个 local object class INT的临时变量 用于存转载 2014-01-18 17:09:34 · 651 阅读 · 0 评论 -
MFC计算器总结
用MFC制作计算器之总结一, 利用MFC进行可视化编程,要熟悉几个视图 类视图,资源视图,工具箱等 解决方案资源管理器:用来管理程序的代码(.h啊.cpp啊都在这里了) 类视图:用来管理程序中的类(添加类成员啊都可以在这里) 资源视图:管理程序的外部资源(具体什么是资源,会慢慢介绍,简单的说就是程序的外观)原创 2014-02-21 14:37:20 · 1781 阅读 · 0 评论 -
Effective C++读书笔记
转载注明出处:http://blog.csdn.net/shenzi/article/details/5601038记得前段时间又一次拿起《Effective C++》的时候,有种豁然开朗的感觉,所以翻出了我第一遍读时做的笔记。只做参考以及查阅之用。如有需要请参阅《Effective C++》书本。 by shenzi/2010.5.17一.让自己习惯C++ 条款01:转载 2014-02-24 20:54:56 · 720 阅读 · 0 评论 -
explicit 关键字
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”转载 2014-02-25 20:17:11 · 694 阅读 · 0 评论 -
C++转型操作符
解释四个新型操作符的用途:static_cast: 基本与拥有与C旧式转型相同的威力与意义,以及相同的限制。如://计算两个int型数相除,结果为double型int firstNum, secondNum;double res = (double)firstNum / secondNum; //旧式C语法double res = static_转载 2014-02-18 20:48:00 · 659 阅读 · 0 评论 -
BOOST 在windows的编译及配置(VS2010) 笔记
系统:win7开发环境:Visual Studio 10BOOST版本:boost_1_54_0参考了很多师兄师姐前辈阿姨的博客文章,然后自己安装后作为笔记记录下来。感谢这些经实践验证的、好博客文章。 (1)boost下载首先从boost官方主页BOOST官方下载网址下载最新版boost安装包。下载完毕后将其解压在某盘内[ F:\boost_1_54_0转载 2014-02-25 19:00:56 · 1078 阅读 · 0 评论 -
C++的const类成员函数
我们知道,在C++中,若一个变量声明为const类型,则试图修改该变量的值的操作都被视编译错误。例如,[cpp] view plaincopyconst char blank = ‘’; blank = ‘\n’; // 错误 面向对象程序设计中,为了体现封装性,通常不允许直接修改类对象的数据成员转载 2014-02-25 18:45:12 · 707 阅读 · 0 评论 -
static变量,全局变量,局部变量
/* c++ static变量,全局变量,局部变量*/#includeusing namespace std;static int x=1;static int y=2;struct A{ static int x; static int y;};int A::x=3;int A::y= x;//3 //int A::y= ::x; //1int mai原创 2014-07-18 20:39:05 · 918 阅读 · 1 评论 -
struct数组初始化
const int MAXN=100;struct A{ int a,b;};struct A arr[100];//此时编译通过struct A arr[MAXN];//此时编译不通过,原因是什么?原创 2014-07-24 23:05:40 · 2963 阅读 · 1 评论 -
error LNK1123: 转换到 COFF 期间失败
解决方案1:原来机器上安装了VS2010非常正常,安装VS2012后,出现提示错误 13 error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏,如图: 出现的具体原因是微软的链接文件的格式变了(让人无语的微软) 微软官方给出的具体解决方法是给VS2010打SP1补丁。下载地址是:http://www.microsoft.com/en-us/转载 2014-07-31 11:14:26 · 530 阅读 · 0 评论 -
STL容器之优先队列
优先级队列,以前刷题的时候用的比较熟,现在竟然我只能记得它的关键字是priority_queue(太伤了)。在一些定义了权重的地方这个数据结构是很有用的。先回顾队列的定义:队列(queue)维护了一组对象,进入队列的对象被放置在尾部,下一个被取出的元素则取自队列的首部。priority_queue特别之处在于,允许用户为队列中存储的元素设置优先级。这种队列不是直接将新元素放置在队列尾部,而转载 2014-08-08 18:37:50 · 498 阅读 · 0 评论 -
策略模式——MFC例子
Context(应用场景):1、需要使用ConcreteStrategy提供的算法。2、内部维护一个Strategy的实例。3、 负责动态设置运行时Strategy具体的实现算法。4、负责跟Strategy之间的交互和数据传递。Strategy(抽象策略类):1、 定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,Context使用这个接口调用不同的算法,一般使用原创 2014-08-10 17:47:03 · 1233 阅读 · 0 评论 -
简单工厂模式——MFC计算器实现(连续操作)
设计模式是重s原创 2014-08-10 11:01:44 · 2902 阅读 · 0 评论 -
windows API 实现截图
参考:http://bbs.csdn.net/topics/330154355#include "stdio.h"#include "windows.h"/************************************************************************//* hBitmap 为刚才的屏幕位图句柄原创 2014-10-06 14:12:55 · 15347 阅读 · 0 评论 -
ubuntu eclipse CDT 问题
问题一:ubuntu eclipse c++ launch failed binary not found解决:建完项目后 查看在项目中是不是有debug文件夹,说明没有编译,只是需要做如下操作 Project ->Build Poject 构建项目,这是应该会出现debug文件,这时你的程序就可以运行了原创 2014-10-07 09:05:56 · 956 阅读 · 0 评论 -
C++矩阵处理工具——Eigen
最近和一些朋友讨论到了C++中数学工具的问题,以前总是很2地自己写矩阵运算,或者有时候在matlab里计算了一些数据再往C程序里倒,唉~想想那些年,我们白写的代码啊……人家早已封装好了!首先推荐几个可以在C++中调用的数学平台:eigen、bias、lapack、svd、CMatrix,本文着重eigen做以讲解,希望对各位有所帮助。下面是本文主线,主要围绕下面几点进行讲解:***转载 2015-05-26 15:10:50 · 736 阅读 · 1 评论