随笔分类 - C++
摘要:环境:win7 + vs2010 + C++实现vector的sort算法,在类的头文件中写入比较函数时会出现链接错误:error LNK2005: "bool __cdecl compare_index(class TestIndex const *,class TestIndex const *)" (?compare_index@@YA_NPBVTestIndex@@0@Z) already defined in main.objfatal error LNK1169: one or more multiply defined symbols found解决方法: 1
阅读全文
摘要:找了好久才发现了一个这么方便的C++矩阵库。官网http://eigen.tuxfamily.org/index.php?title=Main_Page参考文章http://blog.csdn.net/abcjennifer/article/details/7781936http://www.cnblogs.com/tornadomeet/archive/2012/12/11/2813842.html超好用,解压后,直接加载就可以。
阅读全文
摘要:摘于:http://blog.csdn.net/zimingjushi/article/details/6549390(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{unsigned char a:4;unsigned char c;} ; XXX(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。struct _XXX{_XXX() : y(0xc0) {}};(3) public:和private:后面的冒号,表示后面定义的所有成员都是公有或私有的,直到下一个"public:”
阅读全文
摘要:转自:http://blog.sina.com.cn/s/blog_5d636bc60100nhk9.html不是很严格的讲,*.h文件做的是类的声明,包括类成员的定义和函数的声明,而*.cpp文件做的类成员函数的具体实现(定义)。一个*.h文件和*.cpp文件一般是配对的。在*.cpp文件的第一行一般也是#include"*.h"文件,其实也相当于把*.h文件里的东西复制到*.cpp文件的开头。所以,你全部写在*.cpp文件其实也是一样的。除了编程规范外,还涉及到类一个重要性质,就是封装性。比如现在我们公司和另一家软件公司合作,这样就必然要互相提供一些软件的信息(比如一些
阅读全文
摘要:转自:http://hi.baidu.com/outsmile/blog/item/38db95ede27206d2b31cb11d.html今天写程序的时候要用到二维数组作参数传给一个函数,我发现将二维数组作参数进行传递还不是想象得那么简单里,但是最后我也解决了遇到的问题,所以这篇文章主要介绍如何处理二维数组当作参数传递的情况,希望大家不至于再在这上面浪费时间。 正文: 首先,我引用了谭浩强先生编著的《C程序设计》上面的一节原文,它简要介绍了如何 将二维数组作为参数传递,原文如下(略有改变,请原谅): [原文开始] 可以用二维数组名作为实参或者形参,在被调用函数...
阅读全文
摘要:main函数中两个参数的用法MSDN6.0中写道:argc is An integer specifying how many arguments are passed to the program from the command line. Because the program name is considered an argument, argc is at least 1. 即是第一个表示参数的个数;第二个参数中argv[0]为自身运行目录路径和程序名,argv[1]指向第一个参数、argv[2]指向第二个参数、等等。 当你在CMD 命令行输入带参数的命令: XXX.exe /a
阅读全文
摘要:class A{ int a;}class B{ char b;};class C{ char a; int b;};cout<<sizeof(A)<<endl;cout<<sizeof(B)<<endl;cout<<sizeof(C)<<endl;大家猜猜结果是什么:4,1,8;大家一定会奇怪为什么最后面的那个会是8字节!这和变量在内存中的存储形式有关(罪魁祸首是编译器),大家都知道我们所写的代码,在编译后都会变成汇编代码(也会进一步成为机器代码),汇编吧数据设计成段栈的存储形式,为了提高访问效率,它要求每一次移动栈顶指
阅读全文
摘要:(1)int a,b;a = 5;b = 3;a = a + b;b = a - b;a = a - b;(2)int a,b;a = 5;b = 3;a ^=b ^= a ^= b;
阅读全文
摘要:C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些不同? 之前在写C++程序的时候只知道使用 #include <iostream> 的时候,使用函数前要用 using namespace std; 导入命名空间,而 #include <iostream.h> 则不用,这个得看C++标准化过程为C++开发者做了哪些有意义的工作。 C++标准化过程中,其中一个环节,解决了以下问题: (1)C++增加了名称空间概念,借以将原来
阅读全文
摘要:这个问题属于非常初级的问题,但是对于初学不知道的人可能会比较头疼。C++中函数是不能直接返回一个数组的,但是数组其实就是指针,所以可以让函数返回指针来实现。比如一个矩阵相乘的函数,很容易地我们就写成: 1 #include <iostream> 2 3 using namespace std; 4 5 float* MultMatrix(float A[4], float B[4]) 6 { 7 float M[4]; 8 M[0] = A[0]*B[0] + A[1]*B[2]; 9 M[1] = A[0]*B[1] + A[1]*B[3];10 M[...
阅读全文

浙公网安备 33010602011771号