月曜日, 7月 16, 2012

cygwin 上でGCC 4.6.3 を導入して range-based-for を使う

range-based-for を使いたくて、g++4.6.3 にアップグレードしました。

cygwin の最新版は 4.5で、range-based-for は実装されていません。

[windows][cygwin]最新のg++コンパイラをCygwin上で導入する

コンパイルには ↑ このページを参照させていただきました。

↓ ソースはここからダウンロードできます。

GCC miror sites

 range-based-for を使ったコードを以下に示します。

#include<iostream>
using namespace std;
int main()
{
  int arraytest[5]={1,2,3,4,5};
  for(int i:arraytest)
    cout<<i;
  cout<<endl;
  for(int &i:arraytest)
    i=0;
  for(int i:arraytest)
    cout<<i;
}
コンパイラオプションは以下の通り。
$> g++ -std=c++0x range.cc

Qt: 外部プログラムを起動する

  Qt/C++ のアプリは、外部へ直接アクセスできます。これはネットアプリでは不可能な Qt のメリットです。 外部プログラムを起動することもできます。QProcess::startDetached() を使うと独立したプロセスを立ち上げることができます。 この QProces...