爱技术 & 爱分享
爱蛋蛋 & 爱生活

编程语言 第3页

程序设计语言相关知识
Data Member 存取-墨影

Data Member 存取

这次我们想讨论一下,Data Member 的存取开销。 如下代码: Point3D origin; origin.x=0.0; x的存取开销是什么? 这个问题不能一概而论,必须视 x 和 Point3D如何定义而定。x可能是 static...

赞(1)ShadowShadow阅读(2366)传送门
Data Member 布局-墨影

Data Member 布局

在class 中,nonstatic data member 在 class object 中的排列顺序和其被声明的顺序一样。 static data member 会存放在程序的data segment中,和class object 无关...

赞(0)ShadowShadow阅读(2566)传送门
Data Member 绑定-墨影

Data Member 绑定

这篇文章主要是跟大家聊一下,C++ Data Member 绑定的历史故事,以及对我们现在的代码产生的影响。 extern float x; class Point3D { public: Point3D(float,float,float...

赞(0)ShadowShadow阅读(2568)传送门
sizeof(Empty Class)-墨影

sizeof(Empty Class)

class MyClass { }; 对于上面的这个类,大家可否很明确的告诉我,sizeof(MyClass)是多少? 我在Visual Studio 2017 和 Gcc7.2上得到的输出都是 1。 大家是否会很好奇,为什么明明是个空类,...

赞(0)ShadowShadow阅读(2638)传送门
Member Initialization List-墨影

Member Initialization List

当你写出一个constructor的时候,就有机会设定 class member的初始值。要不是经过 member initialization list 就是在constructor 函数体内部。 本文主要是来讨论一下何时使用initia...

赞(0)ShadowShadow阅读(2624)传送门
C++程序转化(NRVO)-墨影

C++程序转化(NRVO)

这篇文章干啥呢? 不太好说… 大体来说,还是算程序转化语意吧 已知下面的程序片段: #include "X.h" X foo() { X xx; // ... return xx; } 来吧,你看到这段程序会有什么假设? 我猜,...

赞(0)ShadowShadow阅读(2396)传送门
scanf, fscanf, sscanf-墨影

scanf, fscanf, sscanf

这篇文章跟大家聊一下 C 风格字符串的格式化输出方法 文件源 这三个函数都在 cstdio或者说是 stdio.h 中定义。 原型 int scanf( const char* format, ... ); //(1) int fscanf...

赞(0)ShadowShadow阅读(2079)传送门
printf, fprintf, sprintf, snprintf-墨影

printf, fprintf, sprintf, snprintf

这篇文章主要是写一下 C 风格字符串的格式化输出方法 以上四个函数都在 cstdio或者说是 stdio.h 中定义。 函数原型分别是: int printf( const char* format, ... ); //(1) int fp...

赞(0)ShadowShadow阅读(2806)传送门