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

Как быть и что делать? Трабла с шаблонами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Комментарии http://www.cyberforum.ru/cpp-beginners/thread615534.html
Есть такая вот программа: #include <math.h> #include <stdio.h> #include <iostream> #include <conio.h> using namespace std; int main(){ setlocale(LC_ALL,""); double K=0, V, a=-5, b=5, d=(b-a)/100;
C++ Круговая диаграмма Разработать класс круговая диаграмма для графического режима. http://www.cyberforum.ru/cpp-beginners/thread615530.html
C++ Поля класса
здравствуйте ) извините заранее если глупый вопрос :sorry: я просто новичок) class mycl { public: char a, b; }; int main() { mycl pr;
C++ Шаблон set
#include <iostream> using namespace std; template <class Data> class Set{ class Node{ public: Data d; Node *next, *prev; Node(Data dat = 0){d = dat; next = 0; prev = 0;}
C++ Программа для сравнения линий http://www.cyberforum.ru/cpp-beginners/thread615451.html
Начала изучать С++. Для прохождения практики нужно составить программу, которая открывает xml файл, в котором находятся по 2 пары координат линий. требуется найти среди них совпадающие с некоторой точностью и записать результат в такой же файл. пользователь при запуске должен вводить точность приближения линий. чем дружественнее будет интерфейс, тем лучше. обеспечить адекватную реакцию...
C++ Поле first — целое число, левая граница диапазона, включается в диапазон; поле second — целое число, правая граница диапазона, не включается в диапазо 8. Поле first — целое число, левая граница диапазона, включается в диапазон; поле second — целое число, правая граница диапазона, не включается в диапазон. Пара чисел представляет полуоткрытый интервал [first, second). Реализовать метод rangecheck() — проверку заданного целого числа на принадлежность диапазону. • метод инициализации Init; метод должен контролировать значения аргументов на... подробнее

Показать сообщение отдельно
AnyOne697
 Аватар для AnyOne697
134 / 106 / 5
Регистрация: 22.05.2010
Сообщений: 532
28.06.2012, 21:38  [ТС]     Как быть и что делать? Трабла с шаблонами
Цитата Сообщение от ForEveR Посмотреть сообщение
никогда не запрещает использовать
В этом-то и проблема. Проблемы-то я описал: худший коллаборашн, жирный компилятор, больше требуется знать, слишком приторный сахар, порождающий как похожие, так и свои проблемы. Всё это давно расписано и раскритиковано точно так же, как и обрело своих поклонников. И когда нам дают выбор "как делать", это создаёт проблемы и решения то же спорны. Стоит только посмотреть Google C++ Style Guide, сколько там всего вырезано, чтобы понять, что порой некоторые вещи просто не нужны. Уже есть python, Java, Haskell - каждый для своей задачи. У Си++ есть дар, оно же и проклятие - почти полная совместимость супер-системным императивным детерминированным и ОЧЕНЬ БЫСТРЫМ Си, это и нужно использовать. Проектирование быстрых и стабильных систем огромными командами физиков, программистов, математиков и других специалистов области. И сахар, супер возможности здесь никак не способствуют. ИМХО, прошли времена когда на Си++ быстро делали быстрые приложения. Чтобы ни говорили, на Python'е всё равно с программируют быстрее, а десятикратное замедление будет незаметно на Core i7, тем более Python поддерживает параллелизм из коробки. На Java'е очень сложно выстрелить себе в ногу, что можно было и в Си, и в Си++, и в Си++11 тоже можно - никто не заменил указатели, лишь добавили, поэтому это язык останется языком обезьянок, которые кодят на пол ставки, пока опыта не наберутся. Haskell - вот это выбор настоящих amigo, которые плюют на мейнстрим и пишут своё. Не то что параллелизм из коробки, а математический параллелизм из коробки, встроенный в определение позволит использовать все 448 CUDA ядер у GTX560Ti448, оправдывая каждый цент этой довольно дешёвый (для enterprise) видеоадаптер.

Возможно, пригодятся лямбды, но они не ускорят производство в n-раз. Возможно у std::random лучше распределение, но производительность точно упала. Для enterprise решений лучше подключить специальную плату, который Linux поддерживает через /dev/random. А с std::random не факт что всё будет и сразу. Всё слишком запущено и Си++11 не панацея.

Добавлено через 1 минуту
Цитата Сообщение от ForEveR Посмотреть сообщение
создает итератор вывода типа T::value_type на поток os.
Если у T::value_type перегружен оператор вывода в поток - все будет окей. Используется это с алгоритмом copy (алгоритм copy копирует данные из последовательности [first-last) в последовательность, начало которой указывается в третьем параметре).
Спасибки. Не знаю правда, зачем это надо. Вроде бы производительность повыситься, но что происходит при создании
C++
1
ostream_iterator<typename T::value_type>(os, "\n")
я не знаю. Возможно быстрее будет просто вывести в поток. Быстрее и более гибко.
 
Текущее время: 07:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru