Когда и как нужно применять многопоточность?
Здравствуйте! У меня вот такой вопрос. Когда нужно применять многопоточность? Вот допустим пишем мы мессенджер, нужно ли френдлист и окно диалога делить на потоки?
Здравствуйте! У меня вот такой вопрос. Когда нужно применять многопоточность? Вот допустим пишем мы мессенджер, нужно ли френдлист и окно диалога делить на потоки?
Здравствуйте! Есть вопрос. Можно ли получить выходные данные из дебаггера AVR Studio (данные регистров)? Интересует как это можно сделать с помощью С++, если можно такое получить.
Всем доброго времени суток. Пишу программу для парсинга XML файлов. Столкнулся с проблемой, что при считывания XML файла размером в сотни Мб, программа надолго задумывается. Считываю с файла по байту в массив, далее этот массив перекодировываю. И запускаю обработчик этого файла. Передаю массив по ссылке в функции, но программа все равно работает медленно. На разбор 2000 строк уходит примерно минута. Можете посоветовать, как оптимизировать программу?
Подскажите пожалуйста хорошую книгу по С++. Что лучше почитать после Дейтела? АТД, ООП, алгоритмы, STL?
Ошибка при компиляции
main.cpp
#include <iostream>
#include "complex.h"
using namespace std;
int main()
{
Complex x;
Complex y(4.3, 8.2);
Complex z(3.3, 1.1);
cout << x << y << z;
x = y * z;
cout << "Result: " << x << endl;
return 0;
}
complex.h
#ifndef COMPLEX_H
#define COMPLEX_H
#include <iostream>
using namespace std;
class Complex
{
friend ostream &operator << (ostream &, const Complex &);
friend istream &operator >> (istream &, Complex &);
public:
Complex(double = 0.0, double= 0.0);
Complex operator+(const Complex &) const;
Complex operator-(const Complex &) const;
const Complex operator*(const Complex &) const;
const Complex &operator=(const Complex &);
private:
double real;
double imaginary;
};
#endif // COMPLEX_H
complex.cpp
#include <iostream>
#include "complex.h"
Complex::Complex(double realPart, double imaginaryPart)
:real(realPart), imaginary(imaginaryPart)
{
}
Complex Complex::operator + (const Complex &operand2) const
{
return Complex(real + operand2.real, imaginary + operand2.imaginary);
}
Complex Complex::operator - (const Complex &operand2) const
{
return Complex(real - operand2.real, imaginary - operand2.imaginary);
}
const Complex Complex::operator*(const Complex &number) const
{
return Complex(real * number.real, imaginary * number.imaginary);
}
const Complex &Complex::operator=(const Complex &number)
{
real = number.real;
imaginary = number.imaginary;
return *this;
}
ostream &operator << (ostream &output, const Complex &number)
{
output << "The real part is: " << number.real << "\nThe imaginary part is: " << number.imaginary << "\n" << endl;
}
istream &operator >> (istream &input, Complex &number)
{
cout << "Please enter real part of your number: ";
input >> number.real;
cout << "Please enter imaginary part of your number: ";
input >> number.imaginary;
}
ошибка:
R:\Store\ToDo\examples\main.cpp:13: error: undefined reference to `Complex::operator*(Complex) const'
если передавать параметр в перегруженную операцию умножения не по ссылке, то программа работает. Почему нельзя передать объект по ссылке?
Emacs начал съедать слово class. Очистка .emacs - проблему не решает. До этого пробовал макросы. Ничего не могу найти
Всем здравствуйте. Проблема: Делаю класс в файлах myClass.h и реализацию в myClass.cpp и провожу некоторые действия с классом в main.cpp. в main.cpp сверху добавляю #include «myClass.h». При компиляции в Qt Creator ошибок не выдает, программа работает. А в emacs при компиляции пишет undefined reference ..... т. е. требует явного включения #include «myClass.cpp». В чем может быть проблема? файлы все в одной директории.
С Ubuntu заряд батареи хватает на 1,5 часа максимум, с Windows 7 где-то на 3,5-4.
Всем доброго времени суток. есть лабиринт «#» - стенка, "." коридор. Если заблудившийся приложит правую руку к стенке и будет идти до конца - он обязательно найдет выход. Нужно написать рекурсивную функцию, которая приведет заблудившегося к выходу. Я пробовал писать, но мой путник иногда возвращается к первоначальной точке, и у меня никак не получалось привязать его к правой стенке. Вот лабиринт. «Х» - путник.
# # # # # # # # # # # #
# . . . # . . . . . . #
X . # . # . # # # # . #
# # # . # . . . . # . #
# . . . . # # # . # . .
# # # # . # . # . # . #
# . . # . # . # . # . #
# # . # . # . # . # . #
# . . . . . . . . # . #
# # # # # # . # # # . #
# . . . . . . # . . . #
# # # # # # # # # # # #
Подскажите где можно устроиться программистом-стажером? Изучаю программирование на С++. Нравится работать с графикой. 2 недели лазил по сайтам, искал работу, ничего не нашел. Вопрос о заработной плате на втором месте, хочу потихоньку набираться опыту. Кто возьмет студента 3 курса, со способностью к самообучению, умением работать с графикой и техническим знанием английского на стажировку. Готов работать не на компанию а даже на фрилансера. Если проект интересный, готов работать за еду. Москва, 20 лет.
Всем привет. Мне нужно что-то типа гибрида двумерного массива: числового и строкового. Например:
ввожу 2, а он мне выводит строковый массив {«Petya», «18», «MGU», ...}
ввожу 3, выводит массив {«Masha», «21», «MISIS», ...}
Есть ли что-нибудь типа этого? Map врое не подходит
Проблема такова. При первом вызове getline, он автоматически сам считывает первое значение "", т. е. пустую строку. С чего бы? До этого вводил с клавиатуры число cin >> numOfDir.
string buff;
for (int i = 0; i <= numOfDir; i++)
{
getline( cin, buff );
list.push_back( buff );
}
Нашел решение, numOfDir объявлена как глобальная переменная, и в функцию я ее не передавал. Когда передал ее по указателю, заработала. Но так и не понятно почему? ведь глобальная переменная может быть вызвана из любого места?
Всем доброго времени суток. Не могу разобраться в чем проблема. Читал документацию про класс string. Не получается применить на практике метод find.
В классе data определен как «vector<string> data;»
void Ls::defineDepth()
{
for (int counter = 0; counter < numOfDir; counter++)
{
string::size_type pos;
string buff = data[ counter ];
int branchDepth = 0;
stepIn(&branchDepth, &buff, &pos);
cout << branchDepth;
}
}
int Ls::stepIn(int *deep, string *buff, string::size_type *pos)
{
*pos = *buff.find("/", 0); // <----- ERROR
*buff = *buff.substr(*pos); // <------ ERROR
cout << buff << endl;
if (*pos != string::npos)
stepIn(deep++, buff, pos);
else
return *deep;
}
Ошибка такого рода: error: request for member 'find' in 'buff', which is of non-class type 'std::string* {aka std::basic_string<char>*}'
Тема уже много раз повторяющаяся, но на свой вопрос так ответа и не нашел. Если я правильно понял, то emacs больше подходит для администрирования, если я хочу пойти больше в разработку приложений или небольших игр, стоит ли учить emacs или лучше все таки выбрать полноценную IDE?
Всем привет. Непонятны некоторые вещи, ответы на которые не мог найти в интернете. Собственно вот и сам вопрос. Используют ли Emacs при серьезных разработках (игры, объемные программы с графическим интерфейсом и. д.)? Для игр в основном VisualC++, программы Borland C++, DevC++, CodeBlocks. О Emacs читал только что его связывают с QT, Cedet. Не то что бы меня emacs не устраивает, даже наоборот. Просто недавно начал читать его документацию и про отладку и т. д. и т. п. и мне было бы очень жаль если потом придется на другую среду перейдти и осваевать ее.
Всем доброго времени суток. Не могу решить одну проблему. Как сделать так, чтобы при отладке в emacs через gdb выводились буферы locals и stack? каждый раз их прописывать не удобно.
Всем доброго времени суток. Принципиально ли наличие нампада на клавиатуре для программиста?
Добрый день. Возник такой вопрос. Читал про процессоры intel и amd. Но так и не понял, в чем выигрывает AMD и в чем Intel. Пишут что АМД лучше работает на вычисление и харош для игр. А Интел харош для всякого софта типа фотошоп, оффис и т. д. Какой лучше для программирования? Тот у которого быстрее происходит вычисление или под софт? Заранее спасибо.
Вот например есть на выбор такие процессоры:
Core i3 2330М (2200 Мгц) или 380М (2530 Мгц) у обоих кэш 3 мб
Phenom II Dual-Core Mobile (3000 Мгц) кэш 2 мб
Прочитал что при компилировании АМД работает шустрее, так как там уже важно количество потоков вычисления и физических ядер.
Всем добрый вечер, уже 3 дня сижу с одним заданием. Построить итеративную версию Ханойской башни. Встретил задание в учебнике, сперва преведена рекурсивная версия, потом сказано сделать тоже самое, но итеративно, при этом ни о каких стеках, массивах я еще не знаю ничего (по книге). Можете подсказать ресурс с исходным кодом га С++. Читал про алгоритмы построения, но так и не понял. По исходнику мне легче будет разобраться. Заранее спасибо!
Добрый день! У меня такая проблема. При инициализации emacs выдает ошибку
«Symbol's definition is void: color-theme-tango+»
следующие → |