CGPoint、CGSize和CGRect,CGPointMake,CGRectMake行內函數。
http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGGeometry/Reference/reference.html
CGGeometry類定義幾何元素的結構和操作幾何元素的函式。
1、資料型別:
CGFloat: 浮點值的基本型別
CGPoint: 表示一個二維座標系中的點
CGSize: 表示一個矩形的寬度和高度
CGRect: 表示一個矩形的位置和大小
typedef float CGFloat;// 32-bit typedef double CGFloat;// 64-bit struct CGPoint { CGFloat x; CGFloat y; }; typedef struct CGPoint CGPoint; struct CGSize { CGFloat width; CGFloat height; }; typedef struct CGSize CGSize; struct CGRect { CGPoint origin; CGSize size; }; typedef struct CGRect CGRect;
注意:CGRect資料結構的高度和寬度可以是負數。例如,一個矩形的原點是[0.0,0.0]和大小是[10.0,10.0]。這個矩形完全等同原點是[10.0,10.0]和大小是[-10.0,-10.0]的矩形。
2、使用值來建立幾何元素的方法
CGPointMake
CGRectMake
CGSizeMake
CGPoint CGPointMake ( CGFloat x, CGFloat y ); CGSize CGSizeMake ( CGFloat width, CGFloat height ); CGRect CGRectMake ( CGFloat x, CGFloat y, CGFloat width, CGFloat height );
CGFloat ten=10.0f; CGPoint point = CGPointMake(0.0f, 0.0f); CGSize size = CGSizeMake(10.0f, 10.0f); CGRect rect = CGRectMake(point.x, point.y, size.width, size.height); NSLog(@"ten: %f", ten); NSLog(@"point: %@", NSStringFromCGPoint(point)); NSLog(@"size: %@", NSStringFromCGSize(size)); NSLog(@"rect: %@", NSStringFromCGRect(rect));
相關推薦
CGPoint、CGSize和CGRect,CGPointMake,CGRectMake行內函數。
http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGGeometry/Reference/reference.html CGGeometry類定義幾何元素的結構和操作幾何元素的函式。 1、資料型別
優秀工程師-IOS開發中的CGFloat、CGPoint、CGSize和CGRect
1、資料型別: CGFloat: 浮點值的基本型別CGPoint: 表示一個二維座標系中的點CGSize: 表示一個矩形的寬度和高度CGRect: 表示一個矩形的位置和大小 typedef float CGFloat;// 32-bit typedef double C
IOS開發中的CGFloat、CGPoint、CGSize和CGRect
http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGGeometry/Reference/reference.html CGGeometry類定義幾何元素的結
針對sql錯誤:“除非另外還指定了 TOP 或 FOR XML,否則,ORDER BY 子句在檢視、行內函數、派生表、子查詢和公用表表達式中無效”的原理與解決
執行sql語句: select * from ( select * from tab where ID>20 order by userID desc ) as a order by date desc 邏輯上看著挺對 但是報錯: 除非另
C/C++之巨集、行內函數和普通函式的區別
轉載:https://www.cnblogs.com/ht-927/p/4726570.html C/C++之巨集、行內函數和普通函式的區別 行內函數的執行過程與帶引數巨集定義很相似,但引數的處理不同。帶引數的巨集定義並不對引數進行運算,而是直接替換;行內函數首先是函式,這就意味著函式的很多
C++中的行內函數,預設引數和佔位引數
說明:裡面的示例程式碼有些被註釋掉了,想執行時要去掉註釋 #include "iostream" using namespace std; /** 內聯函數出現的原因: C++中的const常量可以替代巨
c++中函式的引數傳遞,行內函數和預設實參的理解
1.引數傳遞 1)函式呼叫時,c++中有三種傳遞方法:值傳遞、指標傳遞、引用傳遞。 給函式傳遞引數,遵循變數初始化規則。非引用型別的形參一相應的實參的副本初始化。對(非引用)形參的任何修改僅作用域區域性副本,並不影響實參本身。 為了避免傳遞副本的開銷,可將形參指定為引用型別。對引用形參的
sql:除非另外還指定了 TOP 或 FOR XML,否則,ORDER BY 子句在檢視、行內函數、派生表、子查詢
執行sql語句: select * from ( select * from tab where ID>20 order by userID desc ) as a order by date desc 邏輯上看著挺對 但是報錯: 除非另外還指定了 TO
4、【C++】靜態成員變數/靜態成員函式/行內函數/友元函式/友元類/友元成員函式
一、靜態成員 我們可以使用 static 關鍵字來把類成員定義為靜態的。當我們宣告類的成員為靜態時,這意味著無論建立多少個類的物件,靜態成員都只有一個副本。 靜態成員在類的所有物件中是共享的。如果不存在其他的初始化語句,在建立第一個物件時,所有的靜態資料都會被初始化為
行內函數,巨集定義,記憶體對齊,型別轉換
巨集 與 inline的區別 存在的價值,兩者都是文字替換,降低程式跳轉次數,提高效率 1. define 是預處理命令,無法除錯 ,最簡單文字替換, inline 是編譯期替換,可以除錯, 存在引數型別檢查 2. 使用inline的時候,函式必須定義 直接定義的函式
C++關鍵字、名稱空間、函式過載、預設引數、行內函數、引用
一 .C++入門 1.C++關鍵字 2.名稱空間 3.C++輸入&輸出 4.預設引數 5.函式過載 6.引用 7.行內函數 8.auto關鍵字 9.基於範圍的for迴圈 10.指標空值nullptr&nullptr_t 二. 正文 1.C++關鍵字(C++98)
Python函式細節:多數量引數、強制引數傳遞、返回多值、匿名/行內函數
1. 可接受任意數量引數的函式 接受任意數量的位置引數,使用引數*來解決 # rest是由所有其他位置引數組成的元組 def avg(first, *rest): return ( first + sum(rest) ) / (1+len(rest)) pri
含引數的巨集與函式、行內函數的區別
含引數的巨集與函式的區別 1、巨集替換不佔執行時間,只佔編譯時間;而函式呼叫則佔執行時間(分配單元、保留現場、值傳遞、返回),每次執行都要載入,所以執行起來比較慢一些。 2、 定義巨集的時候不要在巨集及其引數之間鍵入空格,因為巨集替換的時候會把你不經意打的空格當作巨集的一部分進去
帶參巨集和行內函數
**巨集可以帶引數(引數是形參),稱為帶參巨集。**巨集和函式各有千秋,各有優劣。總的來說,如果程式碼比較多用函式適合而且不影響效率;但是對於那些只有一兩句話的函式開銷就太大了,適合用帶參巨集。但是用帶參巨集又有缺點:不檢查引數型別。 示例:MAX巨集,三目運算子求2個數中較大的一個 #
巨集和行內函數
原文:https://blog.csdn.net/haitaolang/article/details/69945338 因為函式呼叫需要開銷(如:保護呼叫者的執行環境、引數傳遞、執行呼叫指令等),所以函式呼叫會帶來程式執行效率的下降,特別是對一些小函式的頻繁呼叫將是程式的效率有很大的降低。
C++:名稱空間、預設引數、函式過載、引用、行內函數
一.名稱空間 在C/C++中,變數、函式和類都是大量存在的,這些變數、函式和類的名稱都將作用於全域性作用域中,可能會導致很多衝突,所以我們就選擇使用名稱空間。 &nb
行內函數和巨集
巨集定義和行內函數的區別 1. 巨集定義不是函式,但是使用起來像函式。前處理器用複製巨集程式碼的方式代替函式的呼叫,省去了函式壓棧退棧過程,提高了效率。 行內函數本質上是一個函式,行內函數一般用於函式體的程式碼比較簡單的函式,不能包含複雜的控制語句,while、sw
C++深度解析 行內函數分析 inline和#define(5)
C++深度解析 行內函數分析(5) 巨集定義 #define A 3 巨集定義會經過前處理器,只是進行文字替換,缺點在於不會進行語法和語義檢查的,僅僅是複製、貼上的過程,編譯器根本不知道型別是什麼。 所以,C++中,當需要某個型別的常量時,可以使用const常量來代
c++——函式特性,函式過載,行內函數簡單解釋
有預設引數值的引數必須在引數表的最右端 正確示例 void fun(int i;int j=1;int k=10); 錯誤示例 void fun(int i;int j=1;int k); 一般編譯器通過率高的是: 宣告寫預設值;定義不寫預設值 如下示例:
c++ 行內函數和constexper函式
行內函數 將函式宣告行內函數, 通常是在編譯器, 將它在呼叫點將函式“內聯展開”。 inline int len(const string& str) { return st