[C++自我精讲]基础系列一 指针与引用   一 前言   指针.引用.指针与引用区别. 二 指针   变量:代码中常常通过定义变量来申请并命名存储空间,并通过变量的名字来使用这段存储空间. //变量 int nNum; //声明名字为nNum的int型存储空间 nNum = ; //nNum存储值100 nNum = ; //改变nNum存储值200 指针:又叫一级指针,用来指示一个内存地址的变量.对于一个类型T(int.char.folat...),T*就是指向T的指针类型,一个T*类型的变…
[C++自我精讲]基础系列二 const 0 前言 分三部分:const用法.const和#define比较.const作用. 1 const用法 const常量:const可以用来定义常量,不可改变,const常量在定义时必须初始化(extern修饰时是特例). //const常量 ; extern const int Number; const指针: 1)const出现在*号左边,表示被指物是常量(不可以改变):注意:const写在类型之前和写在类型之后且*号之前是一样的. 2)const出…
[C++自我精讲]基础系列四 static 0 前言 变量的存储类型:存储类型按变量的生存期划分,分动态存储方式和静态存储方式. 1)动态存储方式的变量,生存期为变量所在的作用域.即程序运行到此变量时才为其分配存储空间,作用域结束时,会自动收回为其分配的存储空间. 2)静态存储方式的变量,生存期为整个程序执行的过程.即程序开始时就为其分配存储空间,程序结束时,才会收回为其分配的存储空间. 4种变量的存储类型: 1)自动类型(auto):动态存储方式的变量,局部变量,auto常常省略. 2)寄存器…
[C++自我精讲]基础系列六 PIMPL模式 0 前言 很实用的一种基础模式. 1 PIMPL解释 PIMPL(Private Implementation 或 Pointer to Implementation)是通过一个私有的成员指针,将指针所指向的类的内部实现数据进行隐藏. 2 PIMPL优点 举例: //x.h class X { public: void Fun(); private: int i; //add int i; }; //c.h #include <x.h> class…
[C++自我精讲]基础系列五 隐式转换和显示转换 0 前言 1)C++的类型转换分为两种,一种为隐式转换,另一种为显式转换. 2)C++中应该尽量不要使用转换,尽量使用显式转换来代替隐式转换. 1 隐式转换 定义:隐式转换是系统跟据程序的需要而自动转换的. 1)C++类型(char,int,float,long,double等)的隐式转换: 算术表达式隐式转换顺序为: 1.char - int - long - double 2.float - double //1)算术表达式 ; double…
[C++自我精讲]基础系列三 重载 0 前言 分二部分:函数重载,操作符重载. 1 函数重载 函数重载:指在同一名字空间中,函数名称相同,参数类型.顺序或数量不同的一类函数,同一函数名的函数能完成不同功能. //非函数重载,只是返回值不一样 void Fun(int i); int Fun(int i); //非函数重载,不在同一名字空间 namespace A { int Add(int i, int j); }; namespace B { float Add(float i, float…
课时63指针操作数组 二维数组 #include <stdio.h> #include <stdlib.h> int main() { int age[2][4] = { 1,2,3,4,5,6,7,8 }; int* p = &(age[0][0]); int i = 0; int j = 0; for (i = 0; i < 2; i++) { for (j = 0; j < 4; j++) { printf("age[%d][%d] %p %d\…
即将到来金三银四人才招聘的高峰期,渴望跳槽的朋友肯定跟我一样四处找以往的面试题,但又感觉找的又不完整,在这里我将把我所见到的题目做一总结,并尽力将答案术语化.标准化.预祝大家面试顺利. 术语会让你的面试更有说服力,让你感觉更踏实,建议大家多记背点术语. 1. 简单说下什么是跨平台 术语:操作系统指令集.屏蔽系统之间的差异 由于各种操作系统所支持的指令集不是完全一致,所以在操作系统之上加个虚拟机可以来提供统一接口,屏蔽系统之间的差异. 2. Java有几种基本数据类型 有八种基本数据类型. 数据类…
说起 Java 虚拟机,许多人就会将其与 HotSpot 虚拟机等同看待.但实际上 Java 虚拟机除了 HotSpot 之外,还有 Sun Classic VM.Exact VM.BEA JRocketit.IBM J9 等等.今天我们就来简单回顾下 Java 虚拟机的发展历史. 虚拟机始祖:Sun Classic 在 1996 年 1 月 23 日,Sun 发布 JDK 1.0,其中自带的虚拟机就是 Classic VM.但这款虚拟机有个特点,即只能使用纯解释器的方式来执行 Java 代码,…
Kafka 是由 LinkedIn 开发的一个分布式的消息系统,使用 Scala 编写,它以可水平扩展和高吞吐率而被广泛使用.目前越来越多的开源分布式处理系统如 Cloudera.Apache Storm.Spark 都支持与 Kafka 集成. Kafka 创建背景 Kafka 是一个消息系统,说得简单点就是一个消息队列.但是它不仅仅只是一个消息队列,其在消息队列基础上有了更多的功能,以适应业务系统的要求. Kafka 原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activ…