Blogkitで複数記事 / constの参照渡し

投稿日: 2004年07月06月

Blogkitで複数記事

こうさくさんのツッコミより

BlogKitで一日複数記事について私も同様に考えております。カレンダー的に月単位でまとめられる点も同時に使いたいです。更新時に時間まで付加して記号化出来たら解決かと思いますが、どなたか試されていませんか。

なるほど、その手があったか。プラグインで記事IDをごにょれるんだろうか。

とはいえ、一日に複数記事どころか一度しかBlogKitを使ってない僕がどうこうできるわけもなく(汗)

情報お待ちしております。

constの参照渡し

あるクラスのメンバ関数で以下のような関数を作った

void SetFilename(CString filename) {
  // メンバ関数m_filenameにfilenameをコピー
  m_filename = filename;
}

けどこれはCStringを値渡しでコピーしてさらにメンバ関数にコピーしているので効率が良くない。

ではfilenameをポインタで渡すか、とも思ったが折角C++だし参照渡しを使ったほうがスマートだろう。ということで以下のように変更。

void SetFilename(CString& filename) {

しかし、SetFilenameの中でfilename変更するわけでもないのに参照で渡すのもなー、と思って調べてみたらconstを使うことで解決できた。つまり、

void SetFilename(const CString& filename) {

引数にconstをつけることで引数の値を明示的に変更できないようにする。もし関数内でfilenameを変更しようとするとコンパイルでエラーになる。

これってCでも使えるんじゃ?と思って調べてみたらやっぱりあった

void SetFilename(const char* filename) {

これでポインタが指すデータは変更できなくなる。注意しなければいけないのはポインタそのものは変更できるということ。

本を読んで構文覚えただけだとこういう知識が抜けてるなぁ・・・

名前:宮内 はじめ

Code for Nagoya名誉代表

E2D3名古屋支部長

プログラマーです。GISやデータビズが好きです。このサイトは宮内の個人的なメモです。

プロフィール

お問い合わせ