Pull to refresh
34
0
Send message
В частности, мера куба с ребром L < 1 равняется нулю.

Прошу прощения, но почему так?
Зря ничего не написано про синхронизацию потоков прекрасными методами wait и notify.
Такой вопрос, видел 3д-телевизор и несколько очков от него. Очки без элементов питания, очень простенькие, линзы обе бесцевтные (или слегка серые). Как ни совмещал линзы от разных очков друг с другом (каждую линзу с каждой, под всеми углами), не смог найти положение, в котором не мог бы видеть сквозь обе линзы. Почему так?
Ну так это не динамически же.
Всё работает так, как и должно работать.
Я даю пользователю класса свободу действий. Пусть делает как хочет, и будет работать.
В констукторе копирования я как раз просто копирую указатель, не трогая список.
Да, но идея передавать везде все по копированию мне изначально не понравилась. Например, я создам одну гигантскую функцию и сотню маленьких, использующих ее. В моем случае гигансткая будет в одном экземпляре в коллекции, а в вашем, наверное, не в одном.
Сейчас вы скажете, что я совершенно не понимаю механизма всех этих штук, и я не возражу.
Ну так вы в фукнции go() создаете единственный объект и его же копию возвращаете. В моем примере проблема была в потере А5.
Да, это тот факт, с которым я смирился перед тем, как начать писать. Можно, конечно, создавать внешние классы для «цепочек» составления функций. Т.е., я решаю в программе какую-то задачу в созданном специально под эту задачу объекте, а потом удаляю его.
Выглядело бы это примерно так:
func_chain T1();
T1::func_t f = ...
...

Но всё равно со статической коллекцией, пусть не одной.

К сожалению, я не имею ни малейшего представления о shared_ptr.
Ну, преобразование «а — а => 0» работало бы только если это было бы одно и то же «а». Если это были бы разные экземпляры одной и той же мат. функции, выяснить такое мне не представляется возможным. Как и проверить, является ли произвольная функция нулем, чтобы сократить ее при сложении.
#include <iostream>
#include <xstddef>
#include <functional>

using namespace std;

typedef tr1::function<double(double)> realfunc;

realfunc go(realfunc &A, realfunc &B)
{
	realfunc A5 = [&](double x) {
		return A(x) * 5;
	};
	realfunc A5pB = [&](double x) {
		return A5(x) + B(x);
	};
	return A5pB;
}

int main()
{
	realfunc A = [&](double x) {
		return x;
	};
	realfunc B = [&](double x) {
		return x;
	};
	realfunc A5pB = go(A, B);
	cout << A5pB(3) << endl;
	getchar();
}


Вот тут рантайм. А если go() возвращает A5, то всё в порядке.

=(
12 ...
20

Information

Rating
Does not participate
Registered
Activity