Ernest 發表在 痞客邦 留言(0) 人氣()
<article class="mx-1 my-1">
<h3>目錄</h3>
Ernest 發表在 痞客邦 留言(0) 人氣()
<article class="mx-1 my-1">
<h4>正文</h4>
Ernest 發表在 痞客邦 留言(0) 人氣()
目錄
目的
由簡入繁介紹使用方法
本文
With Plain Old Data
int const ic; // const variable
const int ci; // == ic
With pointer/reference
int const * ic_p; // const variable, normal pointer
const int * ci_p; // == ic_p
int *const i_pc; // normal variable, const pointer
int const *const ic_pc; // const variable, const pointer
const int *const ci_pc; // == ic_pc
int &const i_rc; // Error,&const is not a declartor operator [1]
// reference is already h== const mean.
int const & ic_r; // const variable, reference
const int & ci_r; // == ic_r
With function/member function
class test{
public:
void foo() const{
// if instance of Class:test is defined const, then call this function
pri_i=10; // Error, this function cannot change inner variable
pub_i=10; // Error, == pri_i, visibility of instance's variable is not influent for const
sta_i=10; // Pass, static variable belongs Class
}
void foo() {
// if instance of Class:test
// is non-const or not exactly append const
// of same funciton
// then this function will called
// do something...
}
int pub_i;
private:
int pri_i;
static int sta_i;
};
With alias (typedef/using)
typedef int * t_ip;
t_ip const t_ipc; // normal variable and const pointer
const tip ct_ip; // == t_ipc
using u_ip = int *;
u_ip const u_ipc; // == t_ipc
const u_ip cu_ip; // == t_ipc
// 如果你想要定義一個const variable,那必須於宣告別名時定義之:
typedef int const * t_icp; // const int and normal pointer
typedef const int * t_cip; // == t_icp
t_icp const t_icpc; // const int and const pointer
const ticp ct_icp; // == t_icpc
// using and typedef are the same
參考資料
- TCPL *, &和*const皆是declarator operator
Ernest 發表在 痞客邦 留言(0) 人氣()
<article class="mx-1 my-1">
<h3>目錄</h3>
Ernest 發表在 痞客邦 留言(0) 人氣()
<article class="mx-1 my-1">
<h3>目錄</h3>
Ernest 發表在 痞客邦 留言(1) 人氣()
chmod rwx name : change the file/directory to given mode
Ernest 發表在 痞客邦 留言(0) 人氣()
set tags+=~/.vim/tags/cpp_src/tags " 设置tags搜索路径
set wildmode=longest,list " Ex命令自动补全采用bash方式"
Ernest 發表在 痞客邦 留言(0) 人氣()
cin.tie(0)
解除 cin 與 cout 的綁定,亦即ostream不會在istream要輸入時被flush
Ernest 發表在 痞客邦 留言(0) 人氣()
Ernest 發表在 痞客邦 留言(0) 人氣()
Ernest 發表在 痞客邦 留言(0) 人氣()
bit address: 可以視為一個一維大陣列,每個bit能存1/0(高低電位)
byte address: 每一個元素為一個位元組的大小,也就是8個bit
Ernest 發表在 痞客邦 留言(0) 人氣()
MIPS 遵循以下四個 Design Priciple
原文是:
Ernest 發表在 痞客邦 留言(0) 人氣()
//e.g.
#ifndef SWITCH_CASE
#define SWITCH(_str) for(NSString *_s = (_str);;)
#define CASE(_case) if([_s isEqualToString:(_case)])
#define DEFAULT
#endif /*SWITCH_CASE*/
Ernest 發表在 痞客邦 留言(0) 人氣()
Conditional compilation是為了避免無謂的重複引用header / source file所產生地。
寫法與常見的Programming Language一樣,以下就直接觀看程式碼,了解使用方法:
Ernest 發表在 痞客邦 留言(0) 人氣()
在軟體的runtime,若是不妥善地管理記憶體,將可能導致memory leak,使得程式意外終止,
因此開發者必須熟悉與精確的使用這些記憶體管理方式。
Ernest 發表在 痞客邦 留言(0) 人氣()
- 為字首是 instance method :
必須要由實體的物件,來發出訊息的,呼叫語法為"anObject instanceMethod"。
Ernest 發表在 痞客邦 留言(0) 人氣()
以下為範例:
+(void) methodName;
//沒有參數的版本。
-(returnType) methodName:(firstValueType) firstValueName;
//一個參數的版本。
-(returnType) methodName:(firstValueType) firstValueName
andSecondValue:(secondValueType) secondValueName
andThirdValue:(thirdValueType) thirdValueName;
//if you wanted input value more ,and so on...
//多個參數的版本。
/*---------------------------------------------------------*/
[aObject callAnInstanceMethod]
//單一訊息
[[drinkSerial getIndexOfObject: @"Juice"] fillTheDrink]
//巢狀訊息
Ernest 發表在 痞客邦 留言(0) 人氣()
@property 會在 implementation section 自動幫你增加 setter/getter 方法
這裡有關於property(裡面的一些關鍵字說明)
Ernest 發表在 痞客邦 留言(0) 人氣()
iOS裏,所有的設計都遵循於MVC pattern,這是為何要了解MVC的所在,也是所有想寫iOS的設計者必須了解的原理。
須特別注意的是iOS裡,UI是屬於View,而不是Controller。
Ernest 發表在 痞客邦 留言(0) 人氣()
Ernest 發表在 痞客邦 留言(0) 人氣()
以下各distribution包括的軟體主要涵括:MySQL/PHP/Apache ,etc.
可以直接點選文字 連結至官網
Ernest 發表在 痞客邦 留言(0) 人氣()
Ernest 發表在 痞客邦 留言(0) 人氣()