
C\C++
文章平均质量分 72
_IanXiao
这个作者很懒,什么都没留下…
展开
-
头文件互相包含问题
当我们有两个类的头文件互相包含时,如果出现一个类中有另一个类的对象时,VS就会报这样的错error C4430: 缺少类型说明符 - 假定为 int。 test2.h#ifndef __test2_H__#define __test2_H__#include<iostream>#include "test1.h"using namespace std;class test2{pub原创 2015-10-30 17:18:48 · 1121 阅读 · 0 评论 -
C/C++中内存对齐问题
最近做了些牛客上的笔试题,果然发现很多不足之处,感觉大一的C++白学了,心累QAQ。问题:有四个类A B C定义如下, 请确定sizeof(A),sizeof(B) ,sizeof(C),sizeof(D)的大小顺序.class A{ int x; int y;};class B :public A{ int x; char y;};class C{原创 2015-11-14 15:38:56 · 556 阅读 · 1 评论 -
位运算及其应用
运算符及其相关描述& 按位与 :如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。| 按位或 : 两个相应的二进制位中只要有一个为1,该位的结果值为1。^ 按位异或 : 若参加运算的两个二进制位值相同则为0,否则为1。~ 取反 :~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0。<< 左移 : 用来将一个数的各二进制位全部左移N位,右补0。>> 右移 :将一个数的各二进制原创 2015-11-22 22:32:43 · 440 阅读 · 0 评论 -
VS error c2504未定义基类
问题描述error c2504未定义基类,编译错误,和#include头文件有关。详细描述(代码引自Cocos2d-x手游开发Mario)Item.h...#include "ItemMushroom.h"class Item:public CCSprite{ ... public: static Item* create(CCDictionary* dict); ..原创 2016-01-12 18:11:41 · 6322 阅读 · 0 评论 -
C/C++知识点整理(1)
1.指针与引用:指针初始化后,可以指向其他变量。声明一个引用,如果不是作为函数的参数或返回值,必须初始化,明确引用是哪个变量的别名,引用一旦成为某个变量的别名后,在程序运行过程中无法更改这种指代关系。2.下面哪种情况下,B不能隐式转换为A?A . class B:public A{} B . class A:public B{} C . class B{operator A();} D . c原创 2016-02-24 22:23:49 · 628 阅读 · 0 评论 -
C/C++知识点整理(2)
1.Which of following C++ code is correct?A. int f() { int *a = new int(3); return *a; }B. int *f() { int a[3] = {1, 2, 3}; return a; }C. vector<int> f() {vector<int> v(3); return v; }D. void f(int *原创 2016-03-22 21:54:03 · 542 阅读 · 0 评论 -
C/C++知识点整理(3)
1. C++中构造函数和析构函数可以抛出异常吗? A.都不行B.都可以C.只有构造函数可以D.只有析构函数可以答案:C构造函数尽量不抛异常,析构函数不要抛异常。 对于构造函数: 在构造函数中抛出异常,将导致正在构造的对象的析构函数不会被执行。当对象发生部分构造时,已经构造完成的子对象将被逆序的析构(即异常发生点前面的对象),而还没有开始构造的子对象将不会被构造了(即异常发生点后面的对象),但正在原创 2016-03-27 22:38:12 · 943 阅读 · 1 评论 -
C语言隐式数据类型转换
C的隐式数据类型转换:C语言中发生隐式数据类型转换的4种情况: 1.算数运算式中 2.赋值表达式中 3.函数调用参数传递时 4.函数返回返回值时1.算数运算式中进行算数运算时,不同数据类型必须转换成同一数据类型,才能进行运算。 1、字符必须先转换为整数 2、short型转换为int型 3、float型数据在运算时一律转换为双精度(double)型,以提高运算精度 4、在进行运算时,以原创 2016-04-17 20:32:29 · 1464 阅读 · 0 评论 -
char* p与char p[]
5个区:(⊙v⊙)嗯,其实这5个区没啥好说的。但是为了之后要写的内容,先把这5个区简单说一下嘛。栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等堆:就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收原创 2016-04-21 21:03:20 · 1713 阅读 · 0 评论