OC桥接转换

Objective-C中的ARC机制不能使用C的结构指针, 而cocoa 为基于C鱼呀你的 Core Foundation框架 和 Foundation 框架数据类型提供了互用性, 这种功能称为直接桥接。隐式类型转换CFStringRef cstr = CFStringCreateWithStri...

2015-11-30 14:28:41

阅读数:162

评论数:0

OC 循环引用

ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露。导致iOS对象无法按预期释放的一个无形杀手是——循环引用。循环引用可以简单理解为A引用了B,而B又引用了A,双方都同时保持对方的一个引用,导致任何时候引用计数都不为0,始终无法释放。若当前对象是一个ViewCont...

2015-11-29 19:58:03

阅读数:232

评论数:0

OC动态绑定

参考: http://www.onevcat.com/2012/04/objective-c-runtime/ http://justsee.iteye.com/blog/2019541 多态:允许不同的类定义相同的方法。动态类型:程序直到执行时才能确定所属的类。动态绑定:程序直到执行时才能...

2015-11-28 20:21:01

阅读数:389

评论数:0

Objective-C RunTime机制(1)

Objective-C 是面相运行时的语言(runtime oriented language),就是说它会尽可能的把编译和链接时要执行的逻辑延迟到运行时。这就给了你很大的灵活性,你可以按需要把消息重定向给合适的对象,你甚 至可以交换方法的实现,等等(译注:在 Objective-C 中调用一个对...

2015-11-27 10:54:56

阅读数:206

评论数:0

C++ 学习 (static_cast、 volatile 等)

volatile ,变量修饰符,用于表示此变量是变化的,存取值时,会从内存直接读取,而不进行优化。 注意: (1) 可以把一个非 volatile int 赋给 volatile int,但是不能把非 volatile 对象赋给一个 volatile 对象。 (2) 除了基本类型外,对用户定...

2015-11-24 10:24:28

阅读数:183

评论数:0

c++学习(函数模板, 类模板)<2>

ps: 不知道为什么<1> 的后面显示不全 。。。 即使删一点前面的文字也显示不全。。。。,等有机会了一定自己搭博客而如果加上const:int big(const T &a,const T &b)那么就可以: cout<template<class typ...

2015-11-23 13:58:44

阅读数:153

评论数:0

c++学习(函数模板, 类模板)<1>

函数模板 模板形参不能为空。一但声明了模板函数就可以用模板函数的形参名声明类中的成员变量和成员函数,即可以在该函数中使用内置类型的地方都可以使用模板形参名,声明了形参,而没有使用,会不通过编译。额我的是这样 template <typename T> or template <...

2015-11-23 11:07:37

阅读数:138

评论数:0

C++ 学习(虚基类)

#include //基类 using namespace std; class CBase { protected: int a; public: CBase(int na) { a=na; cout<<"CBase...

2015-11-22 15:37:50

阅读数:177

评论数:0

C++ 学习(继承和动态内存分配)

1> 派生类不使用newclass baseDMA{ private: char * label; int rating; public: baseDMA(const char *l = "null", int r = 0); baseDMA(...

2015-11-21 14:33:43

阅读数:191

评论数:0

C++ 学习(虚函数)

1>静态联编,动态联编 将源代码中的函数调用解释为执行特定的函数代码块被称为函数名联编 在C语言中,没有函数的重载,所以,在编译过程中就可以完成函数的联编,这种叫静态联编。 而C++中,虚函数的使用,使得在编译过程中我们无法得知使用的是哪一个,所以编译器 只能在程序运行时选...

2015-11-21 13:51:00

阅读数:154

评论数:0

IOS block

准备走ios开发之一块,但是感觉C/C++的底子还是不够,既然之前学过,趁着刚刚学oc,还能做个对比什么的。 参考:http://www.ithao123.cn/content-5613988.html http://www.cnblogs.com/wustlj/archive/2013/08/...

2015-11-20 18:01:41

阅读数:157

评论数:0

C++ 学习(类的继承,派生)

基类指针或引用只能调用基类方法,但基类只能跟引用之只能调用基类继承过来的方法, 不可以将基类指针或引用赋值给派生类指针或者引用 #include <iostream> #include <stdio.h>using namespace std; class Person {...

2015-11-20 10:07:27

阅读数:173

评论数:0

C++学习 (使用类)

友元函数, 常用的是对<<的重载 #include <stdio.h> #include <iostream>using namespace std; struct node { double x; double y; node(){}...

2015-11-19 18:22:33

阅读数:137

评论数:0

Disk Storage(微软笔试)

http://hihocoder.com/contest/hiho72/problem/1#include <iostream> #include <stdio.h> #include <vector> #include <algorithm> #i...

2015-11-19 17:58:11

阅读数:189

评论数:0

C++ 学习 new

new 还有一种形式是布局new , int buffer2 = new int [10]; int * p4=new (buffer2) int [20];`则 以p4为首地址的数组,会使buffer2的为首地址的内存块 placement new操作符使用的是静态内存,而不是动态分配的内...

2015-11-18 21:11:47

阅读数:176

评论数:0

C++ 学习 (static, extern)

首先从静态变量说起. C++里面静态变量有三种: 分别是外部链接性,内部链接性和无链接性. 声明外部链接的变量的方法是在代码块外面声明它. 此变量是全局变量,多文件中亦可用. 声明内部链接的变量的方法是在代码块外面声明它并加上static限定符. 此变量是全局变量,但仅在本文件中可用....

2015-11-18 20:15:47

阅读数:141

评论数:0

c++学习 ( new, delete)

c++是面向对象的编程语言, 其强调的是在运行阶段进行决策,而不是在编译阶段, 所以引入 new ,delete 等 来进行动态内存分配 new 返回的是一个地址, 如 int *p = new int; int *arr = new int [10]; 此时 new 返回的是一个可以容...

2015-11-17 18:34:20

阅读数:188

评论数:0

C++ 学习

union (共用体)   共用体里可以包含多个变量类型,他们公用一块内存,也就是说,每次只能出现一个,   example :        union test{            int   a;            double b;       }  ...

2015-11-17 18:23:28

阅读数:147

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭