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

Шаблоны - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить: а) Есть ли в нем цифра 3; б) Есть ли цифры 2 и 5 http://www.cyberforum.ru/cpp-beginners/thread283480.html
Всем привет! Помогите сделать программку в с++, условие: Дано натуральное число. Определить: а) Есть ли в нем цифра 3; б) Есть ли цифры 2 и 5. Ну программа вроде с циклами должна быть небольшая и число наверно должно быть в виде текста а не цифр, т.е. char или как там, только я почти не шарю в этом. И ваще это должна быть одна прога или две?? Заранее спасибо!
C++ Переставить все элементы k-ой строки матрицы (между собой) и все элементы побочной диагонали Ребята, помогите пожалуйста решить задачу. переставить все элементы k-ой строки(между собой) и все элементы побочной диагонали. размер матрицы- 3x3. заранее спасибо! http://www.cyberforum.ru/cpp-beginners/thread283472.html
Односвязный список добавить и удалить элемент C++
Удаление элемента происходит правильно а вот с добавлением чтото не то.....вроде вставляет в конец списка но не то...... и как сделать так чтобы вставлял после элемента который ввел.... #include "stdafx.h" #include <conio.h> #include "iostream" #include <time.h> using namespace std;
C++ рекурсивный поиск с возвратом
Доброй ночи уважаемые форумчане. Помогите написать маленькую программу на С++, очень срочно(((. В фаиле хранится дискретная карта города (в виде набора ячеек). Найти кратчайший путь из начальной точки в конечную. Можно пользоваться транспортом. Дополнительно к карте задаются пары точек, соедин. транспортом и время перемещения.
C++ работа со стоками http://www.cyberforum.ru/cpp-beginners/thread283447.html
строка введется с клавиатуры; на пример "Фывфылож аываывры ававыпавр. Аапыват аыв ркрк пкув. "!!!!!(2 предложении. проедложение заканчивается с точкой в конце) а надо вывести вот так:Аапавр фывфылож аываывры ававып ыват аыв ркрк пкув (цвет не имеет значение) Аапавр взят Фывфылож аываывры ававыпавр. Аапыват аыв ркрк пкув.
C++ Определить являются ли числа упорядоченными по возрастанию Здравствуйте ,вот есть такая задачка и ни как не могу с ней разобраться ,может кто то поможет?Надо использовать if else!!!!!!! Даны а,б,с определить являются ли они упорядоченными по возрастанию ( нужно использовать if else) подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17542 / 5780 / 370
Регистрация: 30.03.2009
Сообщений: 15,920
Записей в блоге: 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'е)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru