1.在c++程式中呼叫被c編譯器編譯後的函式,為什麼要加extern 「c」?
答案:
c++語言支援函式過載,c語言不支援函式過載.函式被c++編譯後在庫中的名字與c語言的不同.
假設某個函式的原型為:void foo(int x,int y);
該函式被c編譯器編譯後在庫中的名字為_foo,而c++編譯器則會產生像foo_int_int之類的名字.
c++提供了c連線交換指定符號extern 「c」來解決名字匹配的問題;
2.#define double(x) x+x,i = 5*double(5);i是多少?
答案:
30
3.在函式引數傳遞時,值傳遞與引用傳遞有什麼區別,函式寫法有什麼不同?
答案:
值傳遞只是將實參的值拷貝給形參,改變形參的值並不會改變實參的值;
引用傳遞是實參與形參共享一段記憶體,改變形參的值會改變實參,加個&符號.
4.fun(-1)的返回值時多少?
int func(unsigned int x)
return countx;
}答案:
32
5.用lua實現乙個氣泡排序演算法.function sort(tb)
for i=1,#tb - 1 do
for j=1,#tb - i do
if tb[j] > tb[j+1] then
tb[j],tb[j+1] = tb[j+1],tb[j]
endend
endend
6.lua語言中,a是乙個table,a.b的另外一種演算法是多少.
答案:
a[「b」]
7.寫出這段程式執行結果.
a = {}
a[「x」] = 10
b = a
print(b[「x」])
b[「x」] = 20
print(a[「x」])
答案:
10
20
8. print(string.sub(「ab\nab\1012345」,2,-2))輸出什麼
注:ascall碼值 10對應『n』 101對應『e』
答案:
b
abe234
9.用lua語言實現c++中的a?b:c,並說明需要滿足什麼要求.
答案:
a and b or c(b不能為假)
10.如何設定觸控優先順序,如何設定觸控事件不穿透?
答案:
1.設定優先順序有兩種方式:1.以節點的顯示作為優先順序 2.固定優先順序
2.設定不穿透:setswallowtouch(true)
11.請寫乙個帶有不定引數的lua函式,並輸出所有的引數.
答案:
function printarg(...)
local arg =
for i,v in ipairs(arg) do
print(i,v)
endend
12.autorelease和release的區別
答案:
autorelease:將節點加入自動釋放池中
release:將節點的引用計數-1,如果引用計數為0,則釋放記憶體
13. cocos2d-x如何進行記憶體優化
答案:
1.替換jpg,使用psd,減少重複資源;
2.剔除不必要的資源;
3.打包時檢視log紀錄,由此判斷需要減少的檔案型別;
4.優化,壓縮,減少大小;
5.優化,壓縮網格和動畫,減少檔案大小;
6.剔除system.dll和system.xml.dll ,盡量不要依賴他們,或用其他元件來代替。
cocos2d實現語音 Cocos2d 聲音API
param url 聲音路徑 cc.audioengine.playmusic url loop 停止背景 param releasedata 是否釋放聲音資料,預設為false cc.audioengine.stopmusic releasedata 暫停背景 cc.audioengine.pau...
Cocos2D研究院之初識Cocos2d(二)
在正式介紹cocos2d之前,我先囉嗦一下本人對這套引擎的看法。我認為coos2d最大的作用就是降低開發成本 貌似所有引擎都是這樣 對於研發部門來說,最大的成本就是時間,所以節省時間是降低成本最有效的方式,cocos2d幾乎封裝了所有開發ios遊戲需要的底層 使剛剛接觸oc的開發者也能很快的製作出效...
Cocos2D研究院之初識Cocos2d(二)
在正式介紹cocos2d之前,我先囉嗦一下本人對這套引擎的看法。我認為coos2d最大的作用就是降低開發成本 貌似所有引擎都是這樣 對於研發部門來說,最大的成本就是時間,所以節省時間是降低成本最有效的方式,cocos2d幾乎封裝了所有開發ios遊戲需要的底層 使剛剛接觸oc的開發者也能很快的製作出效...