Non-Java Language

从java视角学习c++的文件组织、函数及对象的写法

从java视角看待c++代码的一些写法,挺有意思 1. 一个文件未必只定义一个类。实际上, 有的函数和变量可以不属于任何类 //playcpp.cpp文件 int main(){ cout << "hello world! "; return 0; } 2. 函数一般先声明,再定义 int doSum(int a, int b); //声明 int main(){ cout << "hello world! " << doSum(3, 5); return 0; } int doSum(int a, int b){ //定义 return a + b; } 3. 类与对象的写法 //声明类,当前文件是Person.h class Person{ private: //注意冒号 int …

从java视角学习c++的文件组织、函数及对象的写法 Read More »

linux下编译、调试c程序

linux下编译、调试c程序 1. 用gcc编译    gcc -g -o hello hello.c  # -g意思是让目标程序中带有源代码信息,这样才能断点调试; -o hello的意思是将目标程序编译、连接为hello文件    ./hello  #执行hello 2. 用gdb调试: 一个典型的例子    gdb hello  #对hello进行调试,这时会进入gdb输入状态;程序将接受gdb指令    (gdb)list #显示源代码,即hello.c文件里的代码    (gdb)break 10 #在第10行设立一个断点,这个断点将编号为1    (gdb) run   #让程序执行; 它将在第10行处中断。假设本行的代码是 k = sum(i, j)    (gdb) display i #显示i的值    (gdb) whatis i #显示i的数据类型    (gdb) set variable i = …

linux下编译、调试c程序 Read More »

java程序员学php -16 exception处理

写法与java风格一致 throw new Exception(‘exception’, 33); //比java多了一个error_code try{ $d -> doSecond(); }catch(Exception $e){ echo $e.getMessage(); } 不同点: 1.php里没有 throws Exception 2.php里的exception没有 checked exception 与 unchecked之分

java程序员学php -12.变量作用域

1.php比java多出了一个“文件”作用域(正式名称叫“全局作用域“,在当前php文件里有效),即写在php文件里但独立于任何函数之外的变量的作用域. 这跟javascript里定义的全局变量有点像,但在php里,函数内部无法访问此类变量。 2.通过require包含进来的文件中的变量的作用域是什么样的? 如果你在函数里调用require(),则被包含的文件中的变量的作用域为当前函数; 否则为全局作用域

java程序员学php -14. 面向对象

相同点: 1.也是类+方法 2.也不允许多重继承 3.也有interface,可以利用interface实现多重继承 4.也有抽象类 5.也有静态方法 6.也可以通过final关键字禁止扩展 不同点: 1.class本身没有access modifier 2.属性和方法的默认的access modifier是public, 没有包可见性的概念,其它一样 3.不用为每个属性写getter和setter,有一套通用的__get()和__set()即可 4.允许类级别的常量,但不允许静态变量

java程序员学php -15 php中的namespace 与java中的package

php中的namespace跟java中的pakcage一样,都可以解决命名冲突的问题。 比如: 声明:namespace APP\KENT\CHEN; 使用:require(‘xxx.php’); echo \APP\KENT\CHEN\SOME_CONST; 不同点在于: 1.写法不一样 2.文件的namespace不需要与其实际路径一致 3.namespace下面不仅可以有类,还可以有常量、函数等其它任何php的东西

java程序员学php -9. 字符串处理

PHP                     JAVA标准库或commons-lang的StringUtils ================================== trim($str)  ———  str.trim() strtoupper($str)—–  str.toUpperCase() ucfirst($str) ——-  StringUtils.capitalize(str) explode(‘;’,$str) —- StringUtils.split(str, ";") join(‘;’, $str)   —  StringUtils.join(str, ";") substr($str, 3)   —  str.substring(3) substr($str, -4)  —   无 $str1 == $str2    — str1.equals(str2) strlen($str)      —  str.length() strstr($str,’o’)  —  str.contains("o") stristr($str,’o’) —  str.contains("o") || str.contains("O") strpos($str, ‘o’) —  str.indexOf(‘o’) strrpos($str,’o’) —  str.lastIndexOf(‘o’) str_replace($str, —  StringUtils.replace("str", "abc", …

java程序员学php -9. 字符串处理 Read More »

java程序员学php -11.函数

public String join(String head, String body){ if(body == null) body = "Nobody"; return head + body; } function join(head, body=’Nobody’){ return head.body; } 区别:   1.php的函数不会在方法签名中指定返回类型   2.php的函数不会在方法签名中指定参数类型   3.php的函数可以给参数设定默认值