2016年10月11日 星期二

C/C++ call by value, call by address, call by reference

標頭都加上
#include <iostream>
using namespace std;
然後使用dev c++

==============================================

int main()
{
  int i=1;
  cout<< i <<endl;  // print 1
}

==============================================

int main()
{
  int i=1;
  cout<< &i <<endl; // print i address
}

==============================================

int main()
{
  int i=1;
  int &j=i;  //讓j的位址指向i的位址(兩個位址會一樣)
  cout<< j << endl; //print j values (That is i values)
  cout<< &j << endl;  // print j address (That is i address)
}

==============================================

int main()
{
  int i=1;
  int *k=&i; //讓k的變數參照i的位址(兩個位址會不一樣)
  cout << k << endl;  // print k values => i address (所以k變數數值列印出來是i的位址
  cout << &k << endl; // print k address (是指k的位址不關變數i的事情)
  cout << *k << endl; // print i address pointer values (指的是k指標變數所參照i位址的數值)
}

=============================================


2016年10月7日 星期五

eclipse java project 應用於XAMPP MySQL

因為我是第一次用jdbc,所以就在這記錄一些事情


首先下載mysql-connector-java-XXXX-bin.jar

download link:http://dev.mysql.com/downloads/connector/j/


然後add external jars把jar檔放入

之後試著寫一段程式連接

會發現出現一個錯誤
ClassNotFoundException:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

是因為MYSQL 預設是不允許通過遠端存取資料庫

所以必須在mysql command下指令:

1.改表

use mysql;
select user,host,password from user;

update user set host='%' where user='root';

2.授權法

grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;

或者是特定主機才可以連線

grant all privileges on *.* to 'myuser'@'192.168.1.3' identified by 'mypassword' with grant option;

然後重開mysql,之後就能成功存取了


再來下面是實作結果
reference:
https://blog.yslifes.com/archives/918
https://my.oschina.net/weiweiblog/blog/664373