编译器
文章平均质量分 78
一枝春美食
这个作者很懒,什么都没留下…
展开
-
C++中的引用在初始化时占用内存吗?
这个问题,还没有完全研究完,先贴上一部分实验结果。 这里比较疑惑的有两个问题,c++中是怎么实现引用的和引用会和指针一样占用内存吗? 其实是一个问题,下面的实验都是在linux64 g++编译器平台 看第一段代码#include<iostream>using namespace std;int main(){ int a=10; int* p =&a; int &q =a; cout原创 2015-08-25 15:35:56 · 1019 阅读 · 0 评论 -
本以为理解const,其实那只是冰山一角
这里首先针对c中const来研究一下,对于c++中在后面的博客中分析。关于教科书里面的一些问题,比如初始化呀什么的,这里就不列举的,下面看看几个问题。第一个问题 看下面这个代码 编译有警告 看看运行结果 这是与我之前的理解又有差异了,在之前的理解是,a的值是不变的,因为这是常量折叠的问题,然而在linux gcc上的运行结果让我困惑了。 如果换到vs2008上,如下同样代码原创 2015-08-21 14:43:08 · 1112 阅读 · 4 评论 -
研究研究看似简单的switch问题
这个问题,之前一直没有去思考,在c和指针这本书中,在谈到switch是给出了这样一段话: 也就是说switch的条件要是整型值?好像一直这么用,却没有研究过为什么。惭愧。。。 研究c语言最好就是看其汇编实现,下面在linux 64位上实验。 编译运行,输出10; 然后将目标文件dump出来int main(){ 40052d: 55原创 2015-08-21 14:05:35 · 1039 阅读 · 0 评论 -
分析编译器对C关键字的处理『跳过编译器的语法检查,完成很危险的操作』
在c中const这个关键字,维基给出这样一句话 When applied in an object declaration,[b] it indicates that the object is a constant: its value does not change, unlike a variable. This basic use – to declare constants – has原创 2015-08-04 13:30:57 · 995 阅读 · 0 评论 -
图论中最小生成树的问题学习
之前的博客分析过这种问题,并使用伪代码分析过其实现。 首先给出问题背景吧,其实岛屿问题(华为的机试题),要在n个岛屿上之间建桥,要使得所有岛屿联通,因为岛屿之前的距离不一样,所以规划出最短的造桥路径。 为了方便研究,从最简单的三个节点开始 ABC三个岛屿,两两之间的距离如上图。 首先要将这种图的关系存储起来,要用到二维数组#define N 3int g[N][N];图中的关系输入格式原创 2015-08-17 14:57:13 · 1137 阅读 · 0 评论 -
inline陷阱问题
在规范c++编程时遇到的,即类的文件定义常规的对类的使用,在class.h对类进行生命,对于成员函数在class.cpp中定义,如下实现main.cpp#include#include "person.h"using namespace std;int main(){ person p; p.setage(12); cout<<p.backage()<<endl原创 2015-08-05 12:46:58 · 704 阅读 · 0 评论 -
C中柔性数组(flexible array)的学习
首先看看什么是柔性数组 C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员,但结构中的柔性数组成员前面必须至少一个其 他成员。柔性数组成员允许结构中包含一个大小可变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。 基本模型为typedef原创 2015-08-16 21:13:07 · 1575 阅读 · 0 评论 -
重新认识Segment fault
对于这个问题,只是之前听说过,并没有研究过。最近在oj编程时,vs上运行没有问题,提交时出现了段错误。为此重视一下这个问题。在维基上给出这个名词的定义 A segmentation fault occurs when a program attempts to access a memory location that it is not allowed to access, or attempt原创 2015-08-13 14:45:03 · 809 阅读 · 0 评论