トップ «前の日記(2005-08-30) 最新 次の日記(2005-09-01)» 編集

AOISAKURA 日記

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|04|05|06|07|08|09|12|
2013|02|03|05|06|08|09|10|11|
2015|11|
2016|12|
2017|03|08|
2018|01|03|06|
2019|05|07|09|

pixiv / twitter

※発信する情報は、個人の見解・意見であり、所属する会社の見解・意見ではありません。


2005-08-31 突然落ちる [長年日記]

_ [programming][inkscape] 変数宣言のしかた

Inkscapeのコード中の関数定義で次のような文があった。(item->transformの型はNR::Matrix)

    // save the transform, to re-apply it after simplification
    NR::Matrix const transform(item->transform);

transform関数は無い(あるけどスコープ外)から何か手続きをしているわけでも無いし、そもそもだったらその前の型指定とかおかしいし。というわけで、どうもこれはtransformという変数を宣言して、その初期値としてitem->transformを代入しているということらしい。以下のコードを作ってみたら、a, bともに同じ値が入った、同じ意味なのかな。

#include <iostream.h>
int main() {
  int a = 10;
  int b(10);
  cout << "a: " << a << endl;
  cout << "b: " << b << endl;
  return 0;
}

で、疑問はなんでこういう代入の仕方があるのか、なんか古い記法なんすかね。それとも気づかなかった違いがあるのか。

(追記: 05/09/01)

ツッコミを頂いてInkscapeのNR::Matrixのドキュメントを見たら、NR::Matrixを引数にとるコンストラクタがきちんとありました。

うぅぅ、C++やり直そう、なんだか完全に頭はJava基準なのか。っていうか、そんなややっこしい挙動わかんないっすよー。

_ [link][linux] The State of Linux Graphics

LinuxにおけるGraphics環境の歴史とソフトウェアについてまとめられたページ。

_ [link][programming][java][ruby][python] Eclipseで帳票作成と配列操作の比較表

_ [link][drawing] 60のポーズでお題

mixiの方で、きっかけがあったのでやってみようと思います。ペースは2日で1つ(遅。まぁ、無理はしない。っていうか、ペン入れまで入れるとすると結構きついんだけどなぁ。