Posts

c++中的结构体数组初始化

05 Sep 2015

c++中结构体数组的初始化相对于c语言的结构体数组的初始化更为复杂一些。这是因为c++引入了构造函数,这意味着程序员可以自己决定每个结构体的构造方式,举个例子,一个拥有两个成员的结构体默认是需要两个成员来初始化的,而在c++中可能只需要一个成员就能完成初始化,这可以通过为该结构体定义一个接受一个值的构造函数来实现。 我将通过以下这种分类方式来讲解c++中结构体数组的初始化方法: 两种情况分类

只有默认构造函数的结构体

- 简单结构体: 仅包含基本数据类型
    - 使用大括号{}
    - 不使用大括号{}

- 复合结构体: 可能包含结构体
    - 使用大括号{}
    - 不使用大括号{}

带自定义构造函数的结构体

- 使用大括号{}
- 不使用大括号{}
请参考我的training_ground项目中关于结构体数组初始化的测试代码. ...

阅读全文 ...


lua function

23 Aug 2015

lua function初学者参考

认识lua的function

function是lua基本类型之一, 看下面一小段代码如何来定义一个函数,并且如何来确定一个东西是一个函数:
-- define a function type variable f.
function f()
    print("hello")
end

-- output type of variable f.
print(type(f))          -- output: function

-- call function f.
f()                     -- output: hello
通过上面的代码可以看出:
  • 使用function关键字来定义一个函数
  • 使用type来返回一个变量的类型(string), “function”返回值即代表它是一个函数
  • 使用函数名加一对括号的形式来调用函数,这与其他语言是一样的
type是个什么东西?使用过c系语言的同学可能认为它是个操作符,像sizeof那样。其实,type是一个函数,可以使用print(type(type))检查,你会看到输出会是”function”.
...

阅读全文 ...


CSDN对祁宇的专访

09 Aug 2015

祁宇,资深C++技术专家,致力于C++11的应用、研究和推广。金山软件WPS资深工程师,负责Android服务端开发。精通OOP、OOD、设计模式和重构,主要研究方向为架构设计和业务重构,有丰富的开发和研发管理经验。爱好C++,爱好开源,乐于研究和分享技术,有多个开源项目(详见 GitHub),在《程序员》上发表多篇技术文章。2013年被评为珠海市优秀青年人才。 日前CSDN采访了祁宇,请他解读C++11的新标准、C++的现状以及未来的发展前景。 ...

阅读全文 ...


技术人员真不被重视吗

09 Aug 2015

编者按:跟我一起唱!码农大法好啊码农大法好,搞编程的人民地位高。产品狗,被打倒,项目经理夹着尾巴逃跑了…… 本文整理自知乎问题:为什么技术总是被轻视?国内做技术能不能有较大发展? 版权归各回答之作者所有。文中所有回答的转载均已获得作者授权。 ...

阅读全文 ...


在Mac上调试lua--使用ZeroBrane Studio

30 Jul 2015

内容概述

这篇文章讲述了如何使用ZeroBrane Studio在Mac上调试cocosd-x游戏的lua代码。 作者机器的软件环境是:
  • cocos2d-x 2.2.3, lua 5.1
  • ZeroBrane Studio 1.10 (mobdebug 0.63)
  • Mac 10.10.5, Xcode 6.3

缘起

昨天看了Rust大牛Elton的采访,他在被问到有什么好的建议或者工具推荐给技术人员的时候讲到了3点,第1点是:
“政治不正确地讲,我觉得先要有一台MacBook。程序员的工作大多都对着代码,Retina屏幕对于显示文字方面实在是无可挑剔”
我觉得还挺有道理的,加上之前有几个月在Mac上的开发经验,它又是基于unix的,因此把家里的MBP拿来公司,决定正式转换到以Mac为主要工具的工作模式下。 早上刚一到公司,就把双显示器的左边那个挪到左边的小桌子上用几本大厚书把它垫到和另一个差不多的高度,中间腾出来一个24寸显示器的宽度来安置Mac。下载代码库、装企业QQ、UI编辑器、接好机械键盘,全部搞定了, 看着Retina清澈的样子,我已经迫不及待开始Coding了。可是当我刚打开vim的时候, 就突然意识到一个非常严重的问题,Mac怎么调试lua?? (这几天要搞的功能是由lua来写) 在windows上,能用lua studio、decoda、vs的BabeLua插件。可是Mac上要怎么搞,我至少要解决两个问题:
  • 在windows上可以把游戏编程win32的可执行程序,作为lua的宿主程序,那么在Mac上这个宿主程序怎么搞?用iOS模拟器来跑iOS版本的游戏还是编一个Mac版本的?
  • 搞定了宿主程序的话,用什么工具能把lua代码加进去,打断点、看Stack、加Watch?
...

阅读全文 ...