随笔分类 -  C/C++基础

上一页 1 2

从tr1中function使用看converting constructor
摘要:一、converting constructor 不知道为什么,这个名次从来没有听说过,之前也没有关注过C++的这个特性。看了下《The C++ Programming Language》这本书最后的索引,也没有关于这个名词的索引,只是在"constructor"的"and type convers 阅读全文

posted @ 2019-03-07 10:35 tsecer 阅读(356) 评论(0) 推荐(0) 编辑

由一次sigleton错误想到的一些C++实现问题
摘要:一、问题 在编可执行文件的时候,为了图方便,没有使用工程的Makefile,而是自己做了一些特殊的处理,选择性的编译了一部分代码,导致最后调试时发现一些文件访问singleton特定组件时错误,然后就想了下C++对于头文件中定义的static类成员中的static变量是如何实现及保证这个单件的唯一性 阅读全文

posted @ 2019-03-07 10:20 tsecer 阅读(110) 评论(0) 推荐(0) 编辑

stl中容器的end指向哪里
摘要:一、问题 在很多的C++容器使用,通常的遍历方法都是 for (auto iter = cont.begin(); iter != cont.end(); iter++) 或者使用更高级的C++语法 for (auto &iter : cont) 但是无论如何,在这种场景下,我们总是假设一个容器的e 阅读全文

posted @ 2019-03-07 10:04 tsecer 阅读(2109) 评论(0) 推荐(0) 编辑

C++中模板生成时机
摘要:一、模板模板是C++中相对比较不太常见的结构,它实现了一些定义按照使用而动态由编译器实现的功能。或者说它部分实现了一些代码动态生成,将程序员的一些工作转移给了编译器来完成。并且它可以使用和内存的使用一样,只有在真正使用到(需要一种模板定义)的时候,此时才真正生成这种模板的一个实例。这一点和各种现代的 阅读全文

posted @ 2019-03-07 09:18 tsecer 阅读(458) 评论(0) 推荐(0) 编辑

C/C++语法之若干个为什么
摘要:一、语法语法是一个语言的基础,每个语言都会形式化的定义自己的语法规则,因为现在大部分时候还是“属性文法”,也就是基于语法的语义识别,所以严格的语法对于任何一门语言都是必须的,即使所谓的第四代编程语言SQL语言看起来非常高端,但是事实上它的语法也是有严格规定的,也可以通过语法文件(好像应该叫巴克斯-诺 阅读全文

posted @ 2019-03-07 09:11 tsecer 阅读(152) 评论(0) 推荐(0) 编辑

bool值一定为0或者1吗
摘要:一、bool值的范围根据C++语言中的说明,一个bool值可能的值只有两个,要么是0,要么是1。但是对于一个未初始化的bool值变量,它的取值范围却要丰富多彩的多,它的取值范围应该是可以为任意的一个单字节整数。测试的程序非常简单,大家随便打印一下一个未初始化的bool变量的值就应该可以看到各种各样的 阅读全文

posted @ 2019-03-07 09:08 tsecer 阅读(1651) 评论(0) 推荐(0) 编辑

c++虚函数实现的一个直观例子
摘要:一、memset一个对象这个是一个非常低级的错误,本身大家一看就看到这个代码是错误的,但是如果出现在面试题里,估计很多人会纠结一下,也可能会忽略这个问题。因为之前比较多的是用C语言,所以初始化一个结构的方法就是随手一个飘逸的memset一个结构。但是在C++中,这种方法可能会引起严重问题,特别的就是 阅读全文

posted @ 2019-03-07 09:05 tsecer 阅读(94) 评论(0) 推荐(0) 编辑

C/C++如何完成变量main函数之前初始化
摘要:一、gcc对main之前初始化的支持对于变量的初始化,gcc提供了两个相关功能,一个是#pragma init(xxx),另一个是通过__attribute__((constructor))声明的函数。虽然说#pragma这个属性只在soloris系统中有用,但是对于我们研究其实现原理还是很有帮助的 阅读全文

posted @ 2019-03-06 21:30 tsecer 阅读(1297) 评论(0) 推荐(0) 编辑

从C++虚函数表看链接器对common段处理
摘要:一、虚函数表的多编译单元定义对于C++来说,它是通过虚函数表来实现自己的多态的,在windows下,C++代码的动态类型识别之类的功能也是和这个虚函数表有关,总之是在这个虚函数表附近。具体是什么布局,我记得《Microsoft Journal》中好像有一系列的文章和图片详细的描述了这个结构,这里我们 阅读全文

posted @ 2019-03-06 21:29 tsecer 阅读(452) 评论(0) 推荐(0) 编辑

从gcc局部static变量初始化看C/C++区别
摘要:一、局部/全局变量局部变量在C++中的使用要频繁的多,并且功能也强大的多,但是这些强大功能的背后无疑会引入问题的复杂性,不想让马儿吃草只想让马儿跑的事大家表乱想。这些初始化的实现就需要C++的库执行更多的动作来完成,虽然各种编译器都是像如今开展的“学雷锋”活动一样干了很多好事都没有留名,但是作为一个 阅读全文

posted @ 2019-03-06 21:28 tsecer 阅读(679) 评论(0) 推荐(0) 编辑

char/unsigned char对比较结果的致命影响
摘要:一、字符符号这个问题以前知道char类型有默认有符号和无符号的区分,但是这两种区分到底有什么区别,概念还是比较模糊的,直到今天因为字符符号搞了一个大乌龙,搞的版本无法启动,才算是有了一次刻骨铭心的认识。二、比较语句下面是比较的一个模型,gcc中,char类型在i386/MIPS体系结构默认是有符号的 阅读全文

posted @ 2019-03-06 21:12 tsecer 阅读(359) 评论(0) 推荐(0) 编辑

为什么C++函数调用前必须声明
摘要:一、习惯性问题刚从C++转到C开发的时候,觉得C里面一些函数调用不用声明函数原型,也不用定义,当时觉得很神奇。后来在C语言下开发久了,发现调用的函数没有声明导致编译错误,又觉得很神奇。看来很多东西习惯了就见鬼不怪了。二、测试的代码[tsecer@Harry GccTest]$ cat MustDec 阅读全文

posted @ 2019-03-06 20:55 tsecer 阅读(5131) 评论(0) 推荐(1) 编辑

上一页 1 2

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示