Справочное руководство по C++
Шрифт:
b1__16.cxx
#include ‹vector.hxx›
declare(vector,int);
implement(vector,int);
main
{
vector(int) vv(10);
vv[2] = 3;
vv[10] = 4; // range error
}
b2_1_3.cxx
#include ‹stream.hxx›
int a = 1;
void f
{
int b = 1;
static int c = 1;
cout ‹‹ " a = " ‹‹ a++
‹‹ " b = " ‹‹ b++
‹‹ " c = " ‹‹ c++ ‹‹ "\n";
}
main
{
while (a ‹ 4) f;
}
b2_3.cxx
#include ‹stream.hxx›
main
{
int* p = new int;
cout ‹‹ "sizeof(int) = " ‹‹ sizeof(int) "\n";
}
b2_3_6a.cxx
#include ‹stream.hxx›
extern int strlen(char*);
char alpha[] = "abcdefghijklmnopqrstuvwxyz";
main
{
int sz = strlen(alpha);
for (int i=0; i‹sz; i++) {
char ch = alpha[i];
cout ‹‹ "'" ‹‹ chr(ch) ‹‹ "'"
‹‹ " = " ‹‹ ch
‹‹ " = 0" ‹‹ oct(ch)
‹‹ " = 0x" ‹‹ hex(ch) ‹‹ "\n";
}
}
b2_3_6b.cxx
#include ‹stream.hxx›
char v[2][5] = {
'a', 'b', 'c', 'd', 'e',
'0', '1', '2', '3', '4'
};
main {
for (int i = 0; i‹2; i++) {
for (int j = 0; j ‹5; j++)
cout ‹‹ "v[" ‹‹ i ‹‹ "][" ‹‹ j
‹‹ "]=" ‹‹ chr(v[i][j]) ‹‹ " ";
cout ‹‹ "\n";
}
}
b2_3_7.cxx
#include ‹stream.hxx›
main
{
char cv[10];
int iv[10];
char* pc = cv;
int* pi = iv;
cout ‹‹ "char* " ‹‹ long(pc+1)-long(pc) ‹‹ "\n";
cout ‹‹ "int* " ‹‹ long(pi+1)-long(pi) ‹‹ "\n";
}
b2_3__10.cxx
#include ‹stream.hxx›
struct pair {
char* name;
int val;
};
extern int strlen(char*);
extern int strcpy(char*, char*);
extern int strcmp(char*, char*);
const large = 1024;
static pair vec[large];
pair* find(char* p)
{
for (int i=0; vec[i].name; i++)
if (strcmp(p,vec[i].name)==0) return &vec[i];
if (i == large) return &vec[large-1];
return &vec[i];
}
int& value(char* p)
{
pair* res = find(p);
if (res-›name == 0) {
res-›name = new char[strlen(p)+1];
strcpy(res-›name,p);
res-›val = 0;
}
return res-›val;
}
const MAX = 256;
main
{
char buf [MAX];
while (cin››buf) value(buf)++;
for (int i=0; vec[i].name; i++)
cout ‹‹ vec[i].name ‹‹ ":" ‹‹ vec[i].val ‹‹ "\n";
}
b3_1all.cxx
#include ‹xstream.hxx›
#include ‹ctype.h›
enum token_value {
NAME, NUMBER, END,
PLUS = '+', MINUS = '-', MUL='*', DIV='/',
PRINT=';', ASSIGN='=', LP='(', RP=')'
};
token_value curr_tok;
struct name {
char* string;
name* next;
double value;
};
const TBLSZ = 23;
name* table[TBLSZ];
int no_of_errors;
double error(char* s) {
cerr ‹‹ "error: " ‹‹ s ‹‹ "\n";
no_of_errors++;
return 1;
}
extern int strlen(const char*);
Поделиться:
Популярные книги
Ваше Сиятельство
1. Ваше Сиятельство
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Неудержимый. Книга XIV
14. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Подаренная чёрному дракону
Любовные романы:
любовно-фантастические романы
7.07
рейтинг книги
Я Гордый часть 2
2. Стальные яйца
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бальмануг. Невеста
5. Мир Десяти
Фантастика:
юмористическое фэнтези
5.00
рейтинг книги
Пограничная река. (Тетралогия)
Пограничная река
Фантастика:
фэнтези
боевая фантастика
9.13
рейтинг книги
Сонный лекарь 6
6. Сонный лекарь
Фантастика:
альтернативная история
аниме
5.00
рейтинг книги
Тринадцатый
1. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
6.80
рейтинг книги
Ночь со зверем
3. Оборотни-медведи
Любовные романы:
любовно-фантастические романы
5.25
рейтинг книги
Страж. Тетралогия
Страж
Фантастика:
фэнтези
9.11
рейтинг книги
Кодекс Охотника. Книга XIV
14. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том VIII
8. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Барон устанавливает правила
6. Закон сильного
Старинная литература:
прочая старинная литература
5.00