做项目时经常会使用不同的语言,某个功能可能曾使用C++实现过,然后希望在Matlab中复用,这时就需要进行代码语言的转换。
在Sublime的帮助下可以很容易实现括号类型、数组下标的转换。一些区别较明显的地方,如循环的语法、成员函数调用等,也可以很容易的改掉。不过还是存在有一些不太容易注意的细节,在此处存档注意事项。
1. for循环中的id用于循环内的变量下标时,起始id要记得+1。
for(int i = 1; i < 10; i++)
太容易直接改成for i = 1:10
了。这样修改后,结束id倒是对的,但是起始id小了1。
2. C++中常用a.size()
来求数组的长度,在matlab中最好还是替换成length(a)
。
将
a.size()
修改成matlab代码时很容易会想当然地把变量名移到括号内写成size(a)
。这种时候,如果a
是一个列向量的话并不会出错,但是如果a
是行向量的话,size(a)
将会返回1。