C++ запускаю так:
clang++ test.cpp -O3 -o optimizedO3 && ./optimizedO3
Используйте флаги оптимизации O2, O3. Например g++ -O2 u.cpp && ./a.out
https://www.linux.org.ru/forum/development/16616396/page23 - тут про регулярки:
auto regex = pcre_compile("([^+ ]*?)([^+ ]*)[ +]+\\2", PCRE_UTF8, &prce_error, &pcre_erroff, 0);
---------------------
Глобальная Замена по регулярному выражению. Эквивалент:
s/ря.*?ой/сержант/g;
#include <regex>
#include <iostream>
int main()
{
//std::string s = "Вася был рядовой хороший - ряженной";
s = std::regex_replace("Вася был рядовой хороший - ряженной", std::regex("ря.*?ой"), "сержант");
std::cout << s << std::endl;
}
---------------------------
Многострочный текст
u =
" be\n"
"tring.\n";
u =
" be\
tring.";
u = R"HTML(
11
22
33
)HTML";
------ -----------
Достаём цифры с строки и получаем среднее:
#include <iostream>
#include <regex>
using namespace std;
int main(){
const string s = "pro hor ov,5,1,3,1,5";
regex space_re(R"(\d+)");
float $os; int $i=0;
for(auto t= sregex_token_iterator(s.begin(),s.end(),space_re); t!= sregex_token_iterator(); ++t){
$os += stoi(*t);
++$i;
}
float $f=$os/$i;
std::cout<<$f<<"\n";
}
----------- ----------
Закрытие программы как только нажат Ввод:
#include <cstdio>
int main() {getchar();}
Или так:
#include <iostream>
int main()
{
std::cout << "Нажмите Enter для завершения";
std::cin.get();
return 0;
}
----------
Из строки получить число:
#include <iostream>
//#include <cstdlib>
int main()
{
std::cout << (atoi("222") * 2);
return 0;
}
---------
Переменная типа int может занимать до 4-х байт
chart - это целое число из таблицы ансс11
------ --------
//пример использования функции puts
#include <cstdio>
int main(){
puts("10");
return 0;
}
---------- ------------
#include <cstdio>
int main(void){
printf("Привет мир");
return 0;
}
говорят что printf более тормознутая чем cout >>
printf(25); - даст ошибку - так-как перед выводом числа нужно форматировать.
Например вот так:
printf("%d", 25);
Для чисел - там просто куча методов форматирования.
Для строк - есть возможность выбора количества выводимых символов, центровка
https://ru.wikipedia.org/wiki/Printf
#include <cstdio>
int main(void){
printf("Привет %d мир %d", 55, 23);
return 0;
}
----------- ----------
Создаёт и записывает строку в файл.
#include <iostream>
#include <cstdio>
int main ()
{
FILE * D = fopen("file1.txt", "w");
if (D != NULL)
{
fputs("Пример использования функции fopen ", D); // записать строку в файл
fclose (D);
}
return 0;
}
---------- -------
//пример использования функции fgets
#include <cstdio>
int main()
{
FILE * D = fopen("file.txt" , "r");
char mystring [100];
if ( fgets(mystring, 100, D) != NULL ) // считать символы из файла
puts(mystring); // вывод на экран
fclose (D);
return 0;
}
Comments
Ещё один способ прочитать файл
#include iostream>
#include fstream>
int main(){
using namespace std;
ifstream inf("mark.csv");
string S_;
while (inf){
getline(inf, S_);
if(S_ != "") cout << S_ <<"\n";
}
return 0;
}
Используйте std::endl, когда
Используйте std::endl, когда нужно, чтобы ваши данные выводились сразу же (например, при записи в файл или при обновлении индикатора состояния какого-либо процесса). Обратите внимание, это может повлечь за собой незначительное снижение производительности, особенно если запись на устройство происходит медленно (например, запись файла на диск).
Используйте '\n' во всех остальных случаях.
Массив. Заполение
#include iostream>
#include string>
int main()
{
std::string students[10] = {
"Иванов", "Петров", "Сидоров",
"Ахмедов", "Ерошкин", "Выхин",
"Андеев", "Вин Дизель", "Картошкин", "Чубайс"
};
std::cout << students[0] << std::endl;
return 0;
}