随笔分类 -  C++

入门语言
摘要:转载自变量声明和定义的区别变量的声明有两种情况1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。2、另一种是不需要建立存储空间的。 例如:extern int a 其中变量a是在别的文件中定义的。int a; 它既是声明,又是定义,是一种“定义性声明(defining... 阅读全文
posted @ 2014-07-15 11:08 Norcy 阅读(443) 评论(0) 推荐(0) 编辑
摘要:C++有4种类型转换,reinterpret_cast, static_cast, dynamic_cast 和 const_castreinterpret_castreinterpret_cast 可以将一个指针转换为任意其它类型的指针或int,或反之亦可。可以在互不相关的类之间进行指针转换,它只... 阅读全文
posted @ 2014-06-06 21:50 Norcy 阅读(466) 评论(0) 推荐(0) 编辑
摘要:问1:子类继承了父类的所有成员,对吗?答1:错,至少子类没有继承父类的构造函数(析构函数不知有没有继承,但复制构造函数肯定是继承了)。class A{ public: A(){} A(int x){} A(const A& a){cout using namespace st... 阅读全文
posted @ 2014-06-06 21:19 Norcy 阅读(230) 评论(0) 推荐(0) 编辑
摘要:前言因为直接学了C++,所以对C的一些细节了解不是很清楚,于是在这里补充一点小知识——动态内存分配,C++中相关的是new和delete,而C中相关的是malloc、calloc、realloc和free。注:alloc代表allocate,意为“分配”。deletep和delete[]p的区别这是... 阅读全文
posted @ 2014-06-06 20:34 Norcy 阅读(304) 评论(0) 推荐(0) 编辑
摘要:空指针(void pointers) void 指针可以指向任意类型的数据。唯一的限制是被指向的值不能被直接引用(即不可以对它们使用解引符*),因为它的长度是不定的。 因此,必须使用类型转换操作或赋值操作来把 void 指针指向一个具体的数据类型。#include using namespace... 阅读全文
posted @ 2014-06-06 14:25 Norcy 阅读(2519) 评论(0) 推荐(0) 编辑
摘要:C++中有以下几种自定义数据类型方式:typedef、union、enumtypedeftypedef只是用于重命名一种已有的数据类型。typedef char C; //C c即char c typedef char field [50]; //field... 阅读全文
posted @ 2014-05-25 22:45 Norcy 阅读(13374) 评论(0) 推荐(0) 编辑
摘要:预处理指令:在编译之前进行处理的指令。常见的预处理指令有以下几个#define#undef#ifdef#ifndef#if#elif#else#endif#line#error#promga#include简单看下用法(注意#endif)#ifndef MAX_WIDTH#define MAX_WI... 阅读全文
posted @ 2014-05-25 22:08 Norcy 阅读(813) 评论(0) 推荐(0) 编辑
摘要:已知strcpy函数的原型是:char *strcpy(char *dst, const char *src);实现strcpy函数解释为什么要返回char *假如考虑dst和src内存重叠的情况,strcpy该怎么实现1.strcpy的实现代码char * strcpy(char *dst,con... 阅读全文
posted @ 2014-05-20 19:47 Norcy 阅读(104388) 评论(6) 推荐(19) 编辑
摘要:(以后再也不用破Markdown写东西了,直到它有一个统一的标准,不然太乱了--) 函数签名 int f (int a, int b) ↑ ↑ ↑ ↑ 返回类型 函数名 形 式 参 数 其中,函数名+形式参数=函数签名(function signature)。 引用变量 int a = 1; int 阅读全文
posted @ 2014-05-20 15:52 Norcy 阅读(721) 评论(0) 推荐(0) 编辑
摘要:先看下以下代码#includeusing namespace std;int x = 1;int f1(){ x = 2; return x;}int f2(){ x = 3; return x;}int main(){ //Test1 cout << x << ... 阅读全文
posted @ 2014-05-04 23:02 Norcy 阅读(3480) 评论(2) 推荐(2) 编辑
摘要:本文用Markdown编辑,这里对Markdown的支持不完善,更好的阅读体验请移步:我的Markdown文本C++三大函数:析构函数复制构造函数operator=析构函数函数模样:~S()当一个对象超出作用域或执行delete的时候,析构函数就被调用。复制构造函数函数模样:S(const S& s)以下情况,复制构造函数均会被调用:声明的同时初始化:S s1 = s2; //注意此时虽然出现=,但是不是调用operator=哦S s1(s2);调用函数时使用按值传递(而不是按引用传递)void f(S s);S s1;f(s1);通过值返回对象S f(){ S s1; retu... 阅读全文
posted @ 2014-04-06 20:29 Norcy 阅读(4122) 评论(0) 推荐(1) 编辑
摘要:参考[C/C++不常见语法特性]_[强制显式调用构造函数explicit]为什么一些书里的构造函数都要写个explicit呢?原来C++中带一个参数的构造函数,在默认情况下会在多种情况下自动调用,而explicit就是为了防止隐式使用拷贝构造函数。#include using namespace std;class A{ public: int x; A(int x1) { x = x1; cout << "A" << endl; }};class B{ public: int x; e... 阅读全文
posted @ 2014-04-06 19:27 Norcy 阅读(415) 评论(0) 推荐(0) 编辑
摘要:参考于:【STL】next_permutation的原理和使用给定一个数列,如何得到它的全排列?例如123,它的全排列是123,132,213,231,312,321。全排列的关键在于,给定某一数列,能从该数列推出“下一个”数列。那么如何找“下一个”数列呢?找“下一个”数列的算法思路描述如下:1、从... 阅读全文
posted @ 2014-04-04 21:32 Norcy 阅读(2816) 评论(0) 推荐(0) 编辑
摘要:#include 和 #include "Hello.h" 有什么区别?今天才知道,今天才知道……大三了都……毕业了都…… 尖括号:在标准库的目录下查找头文件。 双引号:在当前的源文件目录中查找,若找不到才到标准库的目录下查找。 一直错怪了DEV C++,还以为它傻叉总是找不到原文件目录中的头文件……对不起…… 阅读全文
posted @ 2013-12-02 18:36 Norcy 阅读(208) 评论(0) 推荐(0) 编辑
摘要:前言:最近在写差分进化算法的时候,测试函数很多,每次只能测试一个函数,那么如何实现每次换函数时尽量少改动代码呢?想了想,决定define一个全局常量Fun,每次换函数的时候只改动这个数,再根据这个数的值去调用相应的函数。可是这样一来不是要写好多ifelse或者switch.数量一多就不好了。如果函数也有数组就好了,改下下标就能访问相应的数组元素……突然想到在做操作系统实验的时候,好像看到一个叫做函数指针的东西。那么使用函数指针数组就可以将函数们当作数组来使用。函数指针数组:函数名其实就是一个指针,指向函数的入口地址。必须声明参数,表明这是一个函数指针;必须用括号把*和函数名括起来,表明这是函数 阅读全文
posted @ 2013-08-31 19:50 Norcy 阅读(802) 评论(0) 推荐(0) 编辑
摘要:最近在实现差分进化算法的时候,发现数据异常,查了好久,才知道是memset惹的祸!#include #include using namespace std;void f(int s[5]){ memset(s, 0, sizeof(s));}int main(){ int s[] = {1,2,3,4,5}; f(s); for (int i = 0; i #include using namespace std;int main(){ int s[] = {1,2,3,4,5}; memset(s, 1, sizeof(s)); ... 阅读全文
posted @ 2013-08-29 14:22 Norcy 阅读(7093) 评论(5) 推荐(0) 编辑
摘要:How?int c = a;a = b;b = c;这样会浪费多一点内存去存放c,so还有吗?a ^= b;b ^= a;a ^= b;^:异或。答案碉堡了, 不过估计除了有可能在面试这种场合下出现之外,好像也没什么机会可以用。 阅读全文
posted @ 2013-07-22 19:40 Norcy 阅读(241) 评论(0) 推荐(1) 编辑