- 博客(26)
- 收藏
- 关注
原创 mac上使用iterm+on my zsh
安装iterm2以及配置on my zsh oh-my-zsh:管理zsh的开源工具 powerline:提供了各个app各个环境下的状态提示 参考文章:http://www.jianshu.com/p/7de00c73a2bb配置Finder当前目录打开iTerm2 使用工具:Go2Shell 参考文章:http://www.jianshu.com/p/445d3f754c4d
2017-08-17 18:33:05
614
转载 前缀、中缀、后缀表达式
它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。举例: (3 + 4) × 5 - 6 就是中缀表达式 - × + 3 4 5 6 前缀表达式 3 4 + 5 × 6 - 后缀表达式中缀表达式(中缀记法) 中缀表达式是一种通用的算术或逻辑公式表示方法,操作符以中缀形式
2017-08-07 21:16:57
424
转载 Objective-C语法之代码块(block)的使用
这篇博客总结的很好:http://blog.csdn.net/totogo2010/article/details/7839061 1、block对象如同函数指针,^用来说明是一个block对象。block对象的声明和赋值可以不同时进行,如同函数指针指向相同类型的不同内容的函数。对声明的block对象进行不同的赋值。 2、block对象可以使用全局变量和定义在block对象之前的局部变量。可以修
2017-06-03 19:51:32
531
原创 ios开发遇到的分辨率问题
开发中我遇到一些这方面的问题,结合一篇博客和自己的理解记录这些问题iPhone屏幕尺寸和分辨率方面的一些小姿势 iPhone设备现在有多种分辨率,如下表所列, 刚开始看见上面的表格时候,我有三个疑问, DPI和PPI是什么意思? pt和px是有什么不同? iPhone 6/6s Plus分辨率是1242 x 2208,为何渲染后分辨率变为1080 x 1920? 针对以上三个问题,我
2017-06-03 16:49:33
1134
原创 c++为什么重载输出流符号的时候一定要返回引用
ostream &operator << (ostream &, class &) 分析这里为什么返回值是引用 原因是为了多次<< 即cout<<a<<b<<"返回值"<<endl; 这样能够将a,b,”返回值”都存放在一个cout的缓冲区 如果返回值是对象,生成了另一个实例。相当于是将后续的内容放到了另一个ostream类实例中,而这个实例可能并未与标准输出设备连接,这样就没办法输出了
2017-05-20 13:25:55
660
原创 为什么重载输出流符号的时候一定要返回引用
ostream &operator << (ostream &, class &) 分析这里为什么返回值是引用 原因是为了多次<< 即cout<<a<<b<<"返回值"<<endl; 这样能够将a,b,”返回值”都存放在一个cout的缓冲区 如果返回值是对象,生成了另一个实例。相当于是将后续的内容放到了另一个ostream类实例中,而这个实例可能并未与标准输出设备连接,这样就没办法输出了
2017-05-20 13:24:58
1487
1
原创 c++子类指针,父类指针,对象的关系
#include<iostream>#include<string>using namespace std;class Shape {public: Shape(string name) { name_ = name; } void fun() { cout << "i am Shape " <<name_<< endl
2017-04-22 23:35:20
858
转载 C++中的标准转换运算符
C++标准转换运算符dynamic_cast dynamic_cast (expression)dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的多态性跟程序运行时的状态也有关系,所以不能完全的使用传统的转换方式来替代。但是也因此它是最常用,最不可缺少的一个运算符。与static_cast一样,dynamic_cast的转换也需要目
2017-04-22 11:56:49
510
原创 IOS开发中的window,controller,view
困扰了许久的window, controller, view终于有了较为全面的理解:首先是window,一个app应用一般情况下只有一个window,可以通过手写出来或是用storyboard自动生成。storyboard会默认创建一个window并且为该window创建一个根控制器,即view controller(一开始创建文件生成的那一个)。但是,我们可以通过修改AppDelegate这个UI
2017-04-13 02:28:56
1105
原创 int const *p与int *const p区别
1、int const *p修饰的是*p,而int 定义一个指针,最终使得指针指向的对象的值不能被*p改变,但需要注意的是这种情况:#include<iostream>using namespace std;int main(){ int m = 4, n = 5; int const *p = &m; *p = 2;}此时,m的值不能被*p改变。但是改为:#inclu
2017-03-16 11:13:14
825
转载 c++中冒号(:)和双冒号(::)的用法
1.冒号(:)用法(1)表示机构内位域的定义(即该变量占几个bit空间)typedef struct _XXX{unsigned char a:4;unsigned char c;} ; XXX(2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。struct _XXX{_XXX() : y(0xc0) {}};(3) public:和priv
2017-03-11 01:01:02
405
转载 什么是SDK? SDK是什么意思?
其实很简单,SDK 就是 Software Development Kit 的缩写,中文意思就是“软件开发工具包”。这是一个覆盖面相当广泛的名词,可以这么说:辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。具体到我们这个系列教程,我们后面只讨论广义 SDK 的一个子集——即开发 Windows 平台下的应用程序所使用的 SDK。 呵呵,其实上面只是说了一个 SDK 大概的概念而
2017-03-10 18:01:41
166692
8
原创 git常用命令
git init //初始化仓库 git add //添加到暂存区 git commit -m “改变叙述” //提交到仓库 git status //查看工作区和暂存区的状态 git diff //查看工作区与暂存区的比较 git diff –cached //是暂存区(stage)和分支(master)的比较 git log //查看历史所有版本(head之前) git reflo
2017-02-12 14:55:27
370
转载 Apache如何使用基础篇
Apache是目前世界上最经常使用的Web服务器.对于Linux用户来说,也是最容易使用的 Web服务器,而且,它是免费的.实际上,如果你仅仅是想要用Apache提供基本的Web页面服务, 那么你可能根本不需要调整任何配置.但是,在另一方面, Apache是一个十分强大的程序, 能够提供许多专业的功能,为了发挥它的功能, 你还是必须了解一点儿关于它的配置. 首先, 如果你在一个非Lin
2017-02-05 17:23:01
6031
转载 CSS中的margin、border、padding区别
CSS padding margin border属性详解 图解CSS padding、margin、border属性 W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落、列表、标题、图片以及层。盒模型主要定义四个区域:内容(content)、内边距(padding)、边框(border)和外边距(margin)。对于初学者,
2017-02-02 21:08:46
463
原创 头文件,源文件的关系
学习C过程,有许多应注意的细小的点,由于遇到文件引用的一些问题,引发了我的一点思考。 1、预处理阶段:编译器以C文件作为一 个单元,首先读这个C文件,发现第一句与第二句是包含一个头文件,就会在所有搜索路径中寻找这两个文件,找到之后,就会将相应头文件中再去处理宏,变量, 函数声明,嵌套的头文件包含等,检测依赖关系,进行宏替换,看是否有重复定义与声明的情况发生,最后将那些文件中所有的东东全部扫描进这个
2017-01-05 14:38:43
1114
转载 C语言中,头文件和源文件的关系
简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程:1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件) 4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用objcopy
2017-01-05 14:15:38
2204
转载 for循环中定义变量
for(int i=0;i<n;i++){ ....... }我们很常做的一件事就是在for循环里定义一个变量并初始化(如上面定义的i,初始化为1),这个变量有可能是为了做循环限制而定义的,而此时变量只做为for循环的局部变量循环结束后就不能再使用i这个变量。这是C99规定了一种新的for循环语法,这种语法也是从C++借鉴的,考虑到兼容性不建议使用这种写法。 文章转载自http://blog.
2017-01-01 15:32:18
6856
转载 不要用void main()
很多人甚至市面上的一些书籍,都使用了void main( ) ,其实这是错误的。C/C++ 中从来没有定义过void main( ) 。C++ 之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) { /* … */ } is not and never has been C++, nor has it even be
2017-01-01 14:56:08
550
转载 [总结]C语言二维数组作为函数的参数
[总结]C语言二维数组作为函数的参数 前言:今天在实现装配线调度程序时候,用到了二维数组,并将其作为函数的参数。在写程序的时候,遇到一些问题,即二维数组做函数的参数应该如何正确表示。我写程序的错误如下程序所示: 1 #include <stdio.h> 2 void print(int *a[3]) 3 { 4 printf("%d\n",a[0][0]); 5 }
2017-01-01 11:18:41
570
原创 NULL理解
遇到NULL的一点问题,引发的一点思考 #include<stdio.h> void main() { printf("%d\n", NULL); //这样看起来,整形变量可以等于NULL,指针可以等于NULL,字符可以等于NULL printf("%p\n", NULL); //但是有些情况是,比如数组:可以是指针不指向NULL,但是内容是空
2016-12-31 17:11:29
658
原创 学生信息管理系统
博主第一次完成一个系统,有些边界设定,输入错误情况没考虑,但是还是想发出来,纪念我的第一个完成的系统#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct node{ int classroom; int number; char name[10]; int sex; int
2016-12-28 23:20:36
422
转载 c语言exit和return区别
exit函数在头文件stdlib.h中。exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在main主函数中,则会退出函数并返回一值,可以写为return(0),或return 0。具体:return返回函数值,是关键字;exit是一个函数。return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的
2016-12-28 15:49:02
505
转载 #if、#ifdef、#if defined之间的区别
#if的使用说明 #if的后面接的是表达式 #if (MAX==10)||(MAX==20) code… #endif 它的作用是:如果(MAX==10)||(MAX==20)成立,那么编译器就会把其中的#if 与 #endif之间的代码编译进去(注意:是编译进去,不是执行!!) #if defined的使用 #if后面接的是一个宏。 #if defined (x)
2016-12-28 13:52:56
363
原创 指针与数组
C语言指针,数组区分刚学习c语言时对二级指针,指向一维数组的指针,数组,二维数组概念模糊不清,经过思考反复推敲验证后有了更加清晰的认识,分享给大家,希望能帮到刚学习的人二级指针赋值void main() { int **p;//二级指针,变量 int a = 3, *p1; p1 = &a; p = &p1; char b[3] = “ab”;//字符数组,一级指针,常量 printf
2016-12-18 23:32:59
462
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人