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

Шаблоны - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ресайз картинки, хранимой в grayscale-матрице http://www.cyberforum.ru/cpp-beginners/thread281396.html
Здравствуйте, уважаемые! Возникла следующая задача: Есть множество двухмерных массивов произвольных размеров, хранящих в себе информацию о яркости точек изображения (по сути - просто grayscale image). Нужно изменить размер этого изображения, что-бы привести их, предположим к матрице 100х100 для последующей обработки. Если готовые решения и где можно изучить алгоритмы? Хорошо бы заполучить...
C++ Перегрузка операторов Пытаюсь написать такой код: char* operator+(char *s1, char *s2) { return ""; } выдаёт ошибку: http://codepad.org/KS8qU8Ml Вроде же логично и должно работать. Почему не правильно? и как сделать, чтобы работало... http://www.cyberforum.ru/cpp-beginners/thread281257.html
C++ Сервер
Помогите, я хочу создать сервер Властелин колец онлайн. Что для этого нужно и как это сделать, на каком языке писать, и в какой среде Добавлено через 27 минут Помогите, я хочу создать сервер Властелин колец онлайн. Что для этого нужно и как это сделать, на каком языке писать, и в какой среде ответьте
C++ Нужен исходник алгоритма SHA
Нужен исходник этого алгоритма. Ссылки на библиотеки мне не нужны, т.к. я ничего не понял как делать. Мне нужно просто - вызвал функцию, передал туда строку и функция вернула мне результат. Помогите граждане! Добавлено через 7 часов 52 минуты Блин, ну помогите. Неужто никто шифрование не юзает???
C++ Френдовый оператор умножения http://www.cyberforum.ru/cpp-beginners/thread280532.html
class A { protected A (...); ... }; ... class B { public: ...
C++ Вывести изображение на экран (ручками) Есть например картинка не важно в каком формате (самые легкие для считывание это наверно tga png bmp) каким образом надо залесть в этот файл с картинкой чтобы считать цвет пикселей и собственно их расположение и потом вывести их на экран??? подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17310 / 5558 / 347
Регистрация: 30.03.2009
Сообщений: 15,127
Записей в блоге: 26
27.04.2011, 14:42     Шаблоны
Цитата Сообщение от Deviaphan Посмотреть сообщение
Второй говорит о том, что в пределах заданного пространства используется только один из типов данных в объединении и компилятор может проводить некоторые оптимизации. Да самое примитивное, занести значение в кэш. Если значение может одновременно использоваться с разными типами, то в кэше его уже не подержишь...
Можешь ссылку на описание кинуть? Потому что на словах ничегоне понял. Сдаётся мне, это есть какое-то расширение, а не стандарт

Цитата Сообщение от Deviaphan Посмотреть сообщение
Заинтересовало. Можно пруф?
Был один из примеров:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Файл t.h
template <class C>
class T
{
  private:
    C x;
  public:
    T();
    C get();
};
 
template <class C>
T<C>::T()
{
  x = 1;
}
 
template <class C>
C T<C>::get()
{
  return x;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
// Файл t1.cc
#include <iostream>
#include "t.h"
 
T<int> t;
 
int
main (void)
{
  std::cout << t.get() << std::endl;
  return 0;
}
C++
1
2
3
4
5
6
7
8
// Файл t2.cc
#include "t.h"
 
template <>
int T<int>::get()
{
  return 2;
}
Компилируем один файл (когда код со специализацией не попадает в линковку):

Код
$ g++ t1.cc && ./a.out
1
Компилируем два файла (при этом в линковку попадает специализация)

Код
$ g++ t1.cc t2.cc && ./a.out
2
Но вот пока писал этот пример, меня начали терзать сомнения, а является ли он корректным с точки зрения стандарта. Т.е. сказано ли в стандарте, что специализация шабона должна быть доступна во всех местах использования шаблона? Если сказано, то я погорячился насчёт инлайна

Цитата Сообщение от Deviaphan Посмотреть сообщение
И Link Time Code Generation никто не отменял
Если я правильно понимаю сей термин, то это не есть что-то особенное. Это всего лишь механизм, при котором множество исходников можно компилить как бы в едином целом, но при этом исходники остаются разнесёнными в разные файлы. К инлайну шаблонов он будет иметь отношение только в том случае, если я не наглючил с примером со специализацией. Да и мало кто пользуется этим из-за сильно увеличивающегося времени компиляции

Добавлено через 7 минут
Я правильно понимаю, что про __restrict в отношении union'а имелся в виду пример из
http://msdn.microsoft.com/en-us/libr...(v=vs.80).aspx
Так вот это не есть то самое. Это просто следствие из свойства __restrict: еслинаписан такой union, то программист обязан сам следить за тем, чтобы работа одновременно ввелась только с одним из указателей. К тому, что писал darkAngel это не имеет никакого отношения, потому что речь идёт НЕ о чтении значений из union'а, а о чтении значений из указателя (который записан в union'е)
 
Текущее время: 05:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru