Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

адаптеры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разбить строку http://www.cyberforum.ru/cpp-beginners/thread377849.html
У меня есть строка string^ str в неё записано 6 символов. Как мне разбить эту строку на еще три строки в каждой из которых будут по два символа. тоесть примерно надо получить вот это: str...
C++ Объясните пожалуйста алгоритм Вычислите сумму с данной точностью е. Используйте указатели на функции как параметры: Сумма от 1 до бесконечности sin n/n Как я понял подставлять вместо n числа от 1 до беск и делить пока... http://www.cyberforum.ru/cpp-beginners/thread377847.html
C++ здравствуйте уважаемые програмисты не могли бы вы помочь с задачами?обычно
Matrix21. Дана матрица размера M × N. Для каждой строки матрицы с нечет-ным номером (1, 3, …) найти среднее арифметическое ее элементов. Ус-ловный оператор не использовать. Matrix32. Дана...
Как тут исправить ошибки? C++
Смысл проги создать класс,который осуществляет денежные операции и протестировать его . /* * code.cpp * * Created on: 04.11.2011 * Author: Sensei */ #include<iostream> using...
C++ в builder for dos http://www.cyberforum.ru/cpp-beginners/thread377835.html
Массив 5*5 заполнить случайными числами от -5 до 5, Дана целочисленная квадратная матрица. Определить: Сумму элиментов в тех столбцах, которые не содержат отрицательных элементов.
C++ Дана матрица размера M × N... Matrix21. Дана матрица размера M × N. Для каждой строки матрицы с нечет-ным номером (1, 3, …) найти среднее арифметическое ее элементов. Ус-ловный оператор не использовать. Matrix32. Дана... подробнее

Показать сообщение отдельно
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
05.11.2011, 21:20
Цитата Сообщение от AzaKendler Посмотреть сообщение
если я правильно понял - то что называется редактором связи не вызывается каждый раз при создании объекта? объект создается сам?
Редактор связей(например, std::bind2nd) НЕ вызывается при создании объекта, он сам создаёт объект(например, std::binder2nd), который можно использовать в качестве функтора в функции-алгоритме.
Цитата Сообщение от AzaKendler Посмотреть сообщение
Интересно узнать почему ее работу не надо учитывать?
Потому что она не участвует в том, что происходит внутри функции-алгоритма. Можно даже сделать так
C++
1
2
std::binder2nd< std::greater<int> > more_than_7 = std::bind2nd(std::greater<int>(), 7);
std::find_if(v.begin(), v.end(), more_than_7); // more_than_7 функциональный объект
ничего от этого особо не изменится.
Цитата Сообщение от AzaKendler Посмотреть сообщение
в каждом проходе по элементу вектора работает связка - биндер-конструктор-функтор-деструктор.
Только operator(), который скорее всего будет встроен, т.е. вообще не будет вызываться!(читай про inline функции)
Цитата Сообщение от AzaKendler Посмотреть сообщение
наверно где то я допустил ошибку. и это интересно. посмотри пожалуйста на приложенные выше картинки - от чего зависит сколько раз вызывается конструктор и деструктор временного объекта. или на твой взгляд объект не временный?
Этот вопрос не отсносится к STL вообще, и к обсуждаемой теме в частности. Почитай про то как передаются объекты в функцию.
Цитата Сообщение от AzaKendler Посмотреть сообщение
обладают ли временные объекты из стл "особыми" свойствами?
Я не знаю такого термина, как "временные объекты из стл".

Добавлено через 14 минут
alex_x_x, по поводу вышеприведённых тестов. У меня вариант с использованием функтора на gcc 4.1.2 с ключём -O3 работает в два раза быстрее, чем указатель на функцию(что собственно и не удивительно). Почему у вас получается наоборот для меня загадка. Честно говоря я не особо удивлюсь, если выяснится, что встраивание в приведённых выше тестах, по той или иной причине, вообще не производилось, т.е. вызывался напрямую operator().
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru