■ 下記の書き方は同じ意味,これでxは定数で,別の値を代入できなくなる.
int const x = 200;
const int x = 200;
■ constポインタは少し厄介
const char* p1 = "aaa"; // p1, p2が指す内容を変更できないが,p1, p2は変更可能
char const* p2 = "bbb";
char* const p3 = "ccc"; // p3は変更できないが,指す内容は変更できる
const char* const p4 = "ddd"; // p4と指す値も両方変更できない
*の左にがある場合は指す内容を変更できないが,ポインタは変更可能
*の右に*がある場合は指す内容を変更できるが,ポインタは変更できない
両方がある場合は値もポインタも変更できない
■ const なクラスメンバー
コンストラクタでOBJを作成するときには必ず初期化しないといけない
■ クラスの関数で,属性を変更しないものは const をつけろ!
Tuesday, May 19, 2009
Friday, April 03, 2009
Wednesday, April 01, 2009
Tuesday, March 31, 2009
Rawmode Serial port programming
#include <stdio.h>
#include <unistd.h>
#include <termios.h>
#include <ctype.h>
#define QUIT_CHAR 0x04 // Ctrl+D --> quit
struct termios CookedTermIos; // for cooked mode
struct termios RawTermIos; // for raw mode
int main(void)
{
char c;
// save present terminal setting
tcgetattr(STDIN_FILENO, &CookedTermIos);
// Create raw mode terminal setting
RawTermIos = CookedTermIos;
cfmakeraw(&RawTermIos);
// Set
tcsetattr(STDIN_FILENO, 0, &RawTermIos);
while((c = getchar()) != QUIT_CHAR )
{
if(isprint(c)){
printf("you push key: ");
putchar(c);
putchar('\n');
}else{
printf("control key <%02X> \n" , c);
if(c == '\n') fputs("\r\n", stdout);
}
}
tcsetattr(STDIN_FILENO, 0, &CookedTermIos);
putchar('\n');
return 0;
}
Monday, March 30, 2009
集積回路
Subscribe to:
Posts (Atom)
