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

Специализация шаблона для char * (рабочий код, но непонятно почему) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ CMake регулярные выражения http://www.cyberforum.ru/cpp-beginners/thread1121864.html
Господа, нужна Ваша помощь в очень простом деле. В CMakeLists.txt есть переменная VERSION, заданная следующим образом SET(VERSION 1.0.0) Необходимо заменить все точки в этой переменной на нижнее подчеркивание "_". Как это сделать? Читал документацию, искал на форумах - регулярные выражения мне не даются вовсе на любом языке. Что понял: используем STRING(REGEX REPLACE <точки>...
C++ из Pascal в C++ Помогите, пожалуйста, перевести небольшой код из Pascal в C++, си просто недавно изучать начал, пока испытываю трудности, а времени маловато осталось) Заранее благодарен :) program ferz; uses crt; var h,v:arrayof byte; ch:char; k,i:integer; begin clrscr; writeln('Vvedite koord. ferzei:'); http://www.cyberforum.ru/cpp-beginners/thread1121857.html
C++ Реально ли VBto Converter конвертирует код в C++
Стоил ли покупать программу VBto Converter оф. сайт , сможет она сконрветирувать программу из VB 6.0 на C++ или это развод ?
C++ Обработка целочисленных массивов
Помогите с задачами кто может, если не трудно: 1) Заданы два целочисленных массива Y(k) и Z(m). Определить в каждом массиве среднее арифметическое простых двузначных чисел. Если таких чисел в массиве больше двух, то удалить их из соответствующего массива. В программе написать функции: вычисления среднего арифметического простых двузначных чисел в массиве и их количества, удаления элемента.
C++ Определить количество слов в тексте; вывести на экран десятое слово. Объяснить готовую программу http://www.cyberforum.ru/cpp-beginners/thread1121786.html
Добрый день, уважаемые форумчане. Дана задача: С помощью текстового редактора Блокнот создать файл, содержащий текст, длина которого не превышает 1000 символов (длина строки не превышает 70 символов). Имя файла должно иметь расширение txt. Написать программу, которая выводит содержимое файла на экран и выполняет действия в соответствии с вариантом. И, допустим, мой вариант: Определить...
C++ Обработка целочисленных массивов Помогите с задачами кто может, если не трудно: 1) Заданы два целочисленных массива Y(k) и Z(m). Определить в каждом массиве среднее арифметическое простых двузначных чисел. Если таких чисел в массиве больше двух, то удалить их из соответствующего массива. В программе написать функции: вычисления среднего арифметического простых двузначных чисел в массиве и их количества, удаления элемента. 2)... подробнее

Показать сообщение отдельно
DrOffset
6455 / 3829 / 885
Регистрация: 30.01.2014
Сообщений: 6,625
17.03.2014, 19:18     Специализация шаблона для char * (рабочий код, но непонятно почему)
Цитата Сообщение от vlad3996 Посмотреть сообщение
Тогда сам шаблон перестанет работать т.к. значение не по ссылке передается или указателю передаётся
То есть хочешь сказать, что такой код не работает?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
template <class T>
void obmen(T a, T b)
{
    T c;
    c=a;
    a=b;
    b=c;
}
template<>
void obmen <char*>(char * a, char * b )
{
    //....
}
Добавлено через 5 минут
Цитата Сообщение от vlad3996 Посмотреть сообщение
C++
1
template<> void obmen <char*>( char * a, char * b ) *//если поменять на <char>, то всё работает
А в чем собственно проблема? Поменяй и работай спокойно.
У тебя у основного шаблона задано
C++
1
T * a, T * b
Если заменить T = char, то как раз и получится char * - искомая специализация. Если же, как у тебя, заменять T = char *, то специализация будет уже такой - char **.
 
Текущее время: 12:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru