Если сейчас все так просто, то нужно разбираться в make/cmake?
# Build section
CC = gcc
CFLAGS = -ansi -pedantic -Wall
TARGET = ntow
OBJS = main.o noun.o triple.o number.o cmdline.o errors.o input.o
BASEDIR = .
TESTDIR = $(BASEDIR)/tests
# Install section
prefix = /usr/local
PREFIX = $(prefix)
BINDIR = $(PREFIX)/bin
# Rules
all: $(TARGET)
$(TARGET): $(OBJS)
@$(CC) $(CFLAGS) $^ -o $@ && echo "$(TARGET) has built"
main.o: cmdline.h number.h input.h errors.h
triple.o: triple.h
number.o: number.h
cmdline.o: cmdline.h errors.h
# Commands
help:
@echo "usage: make [ test | install | uninstall | clean | cleanall ]" 1>&2
test: $(TARGET)
@$(MAKE) -C $(TESTDIR) run
clean:
@rm -f $(OBJS) $(TARGET) && echo "$(TARGET) cleaned"
cleanall: clean
@$(MAKE) -C $(TESTDIR) clean
install:
install -d $(BINDIR)
install $(TARGET) $(BINDIR)/$(TARGET)
uninstall:
rm -f $(BINDIR)/$(TARGET)
.PHONY: help all test clean cleanall install uninstall
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << 300 << endl;
cout << setw(3) << 3 << endl;
cout << setfill('0') << setw(3) << 3 << endl;
return 0;
}
[guest@localhost cpp]$ .iso++ t.cpp -o t
[guest@localhost cpp]$ ./t
300
3
003
[guest@localhost cpp]$
#include <iostream>
using namespace std;
class Student {
char *name;
char *surname;
int age;
char phone[12];
double average;
public:
Student() {};
~Student() {};
// methods
void set_age(int n) {
age = n;
}
void print_age() {
cout << age << endl;
}
};
class AcademyGroup {
enum { LINES = 10, ONE_LINE = 50 };
Student ***pSt;
int count;
public:
AcademyGroup();
~AcademyGroup();
// methods
void add(Student *p);
void print();
};
AcademyGroup::AcademyGroup()
{
pSt = new Student **[LINES];
for (int i = 0; i < LINES; i++)
pSt[i] = new Student *[ONE_LINE];
count = 0;
}
AcademyGroup::~AcademyGroup()
{
for (int i = 0; i < LINES; i++)
delete [] pSt[i];
delete [] pSt;
count = 0;
}
void AcademyGroup::add(Student *p)
{
pSt[count / ONE_LINE][count % ONE_LINE] = p;
count++;
}
void AcademyGroup::print()
{
for (int i = 0; i < count; i++) {
pSt[i / ONE_LINE][i % ONE_LINE]->print_age();
}
}
int main()
{
AcademyGroup group;
for (int i = 0; i < 200; i++) {
Student *p = new Student;
p->set_age(i + 1);
group.add(p);
}
group.print();
return 0;
}
[guest@localhost cpp]$ .iso++ t.cpp -o t
[guest@localhost cpp]$ ./t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
[guest@localhost cpp]$
Допустим самой камере для работы нужен общий класс для всех камер OutputBuffer
Зачастую в моём коде встречается очень много логических ошибок, которые очень тяжело находить и исправлять. Как повысить мне свои навыки программирования ?
#include <iostream>
using namespace std;
struct package {
int status;
unsigned char data[20];
};
int main()
{
package pkg = { 0, { 0x01, 0x02, 0x03 } };
cout << pkg.status << int(pkg.data[0]) << endl;
return 0;
}
Суть программы, удаление определенных файлов, очистка журналов, и сложный перебор ключей в реестре.
1: (это метод добавления одной строки в конец другой, верно?) append() используется таким вот образом:
В моем же примере из учебника вот так append("Sent:" + dt.toString()); и не ясно что к чему в этом участке кода
2: Мне не понятно что и как выводит оператор outТ.к если убрать<<dt
и вообще исключить из кода, оставив просто out;
то на выходе будет просто "Sent:". Если я объявляю Qstring str = "123" и пишуout << str
, вывод не меняется
out << x
1. Как правильно читать спецификацию? Люди, которые знакомы с ней, непосредственно брали в руки документ и читали его от корки до корки?
Поэтому начинаешь читать по факту что уже знаешь. Как итог трата времени, скука и бросание дела на пол пути.
Пошел я значит смотреть как там устроен клиент и обнаружил что заюзали кучу библиотек и зачем я так и не понял.
Что нужно изучать, чтобы стать системным программистом на С++?
Я так понял что инициализацию динамического массива надо делать внутри цикла и освобождать память здесь же.
На форумах мне рассказали про конечный автомат, и я все равно не понял как он может работать с конкретно этой задачей.