幾種常見語言的基本語法對比:數字處理
阿新 • • 發佈:2018-09-04
變量名 nslog num namespace img ace pool 變量 就是
c++: 在不涉及到內存管理下,總體感覺很爽,又因為是unix自帶編譯器。非常爽。唯一一點就是枚舉類型中的枚舉值是好像是全局變量名。搞得枚舉值命名很長。 語法基本沒有太多停頓 ,這個例子中所涉及的語法部分和c#,java 很像。
#include <iostream> using namespace std; enum enum_op { enum_op_add, enum_op_minus, enum_op_time, enum_op_divide }; int NumberCaculate(int a,int b,enum_op op) {int ret=0; switch (op) { case enum_op_add: { ret=a+b; break; } case enum_op_minus: { ret=a-b; break; } case enum_op_time: { ret=a*b; break; }case enum_op_divide: { ret=a/b; } } return ret; } template<typename T> T NumberCaculateFull(T a,T b,enum_op op) { T ret=0; switch (op) { case enum_op_add: { ret=a+b; break; } case enum_op_minus: { ret=a-b; break; } case enum_op_time: { ret=a*b; break; } case enum_op_divide: { ret=a/b; } } return ret; } int main() { cout<<"hello,world"<<endl; cout<<NumberCaculate(1,3,enum_op_minus)<<endl; cout<<NumberCaculateFull<float>(1.2,3.3,enum_op_time)<<endl; }
object-c:因為有xcode這個地球第二的編輯器(vs第一),所以寫代碼還是很爽。 和c++不同的是 對於 枚舉中 參數的定義 enum enum_op op, 重要的是不完全支持泛型 。這個就差距了。
// // main.m // HIWorld // // Created by linson on 2018/8/19. // Copyright ? 2018年 linson. All rights reserved. // #import <Foundation/Foundation.h> enum enum_op { enum_op_add, enum_op_minus, enum_op_time, enum_op_divide }; int NumberCaculate(int a,int b,enum enum_op op); int main(int argc, const char * argv[]) { @autoreleasepool { NSLog(@"Hello, World!"); int a=2; int b=4; NSLog(@"%i", NumberCaculate(a, b, enum_op_add)); NSLog(@"%i", NumberCaculate(a, b, enum_op_minus)); } return 0; } int NumberCaculate(int a,int b,enum enum_op op) { int ret=0; switch (op) { case enum_op_add: { ret=a+b; break; } case enum_op_minus: { ret=a-b; break; } case enum_op_time: { ret=a*b; break; } case enum_op_divide: { ret=a/b; } } return ret; }
幾種常見語言的基本語法對比:數字處理