- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
RV1.72抢先预览版
R++
1.1+2=3
2.C
3.面向对象
4.S表达式
5.省略括号
6.常量对象
7.运算符DIY
8.无缝内联汇编
9.伪代码
10.模板函数
11.宏
12.函数指
13.动态调用函数
14.元函数
15.动态类型
16.反射
17.闭包
18.多重继承
19.可变参数
20.默认参数
21.多线程
22.本地调用
23.类型转换
24.动态数组
25.多参数组
26.重载
27.指针和引用
28.全局变量
29.成员变量
30.局部变量
31.常量
32.控制结构
33.模板类
34.包
35.堆
36.库
37.编译和链接
38.裸奔
39.cocos2dx
40.文言文
41.语言特性
42.函数对象
43.效率
1.1+2=3
第一个R++程序:
main
{
a=1
b=2
puts a+b
}
2.C
R++支持C风格,上一个程序可以写成这样:
void main()
{
int a=1;
int b=2;
puts(a+b);
}
对比上一节的程序可以看到R++的一些特点:
*更彻底地类型推断,C++11需要使用关键字auto,R++可以省略auto
*函数定义和函数调用均可省略后面的小括号
*语句后面的分号也可以省略
*对于返回值为void 的函数,可以省略void (标准C默认返回int)
3.面向对象
R++支持Java (C#)风格,上一个程序可以写成这样:
public class main
{
public static void main()
{
int a=1;
int b=2;
puts(a+b);
}
}
4.S表达式
R++支持Lisp风格,C++的中缀表达式和Lisp 的S表达式可以混合使用:
main
{
int a
int b
[= a 1]
[= b 2]
[rf print [+ a b]]
}
其中
[rf print [+ a b]]
等价于
[rf print (a+b)]
等价于
rf.print([+ a b])
等价于
rf.print(a+b)
注意S表达式不以逗号作为分隔符,所以适当的时候需要加上括号。
另一个S表达式的例子:
example/ _2.h
5.省略括号
控制结构 (if/for/while)后面的小括号是可以省略的,比如有一个递归求和的
函数:
int sum(int a)
{
if a=1
return 1
return sum(a-1)+a
}
那么
if a=1
等价于
if(a=1)
等价于
if[a=1]
R++支持各种花括号风格,也支持类似python 的控制结构省略花括号,这时编译
器将使用缩进区分语句块,缩进可以用tab或者空格表示,1个tab等于4个空
格,比如:
if 1
puts 2
puts 3
等价于
if 1 {
puts 2
puts 3
}
等价于
if(1)
{
puts(2);
puts(3);
}
如果函数调用的右边没有小括号,则本行后面所有单词均作为函数的参数,比如:
puts(sum(9))
等价于
puts sum(9)
等价于
puts sum 9
表达式过长折行的时候不能省略括号(左括号不可折行):
if(1||
2)
puts true
func(1,
2)
func(1,2
)
6.常量对象
常量可以作为对象使用,这只是编译器提供的一个语法糖,比如
文档评论(0)