Комментарии:
Комментарии:
template‹class TRet, class TP1›
class CDelegate1 {
//…
};
template‹class TP1›
class CDelegate1‹bool, TP1› {
//…
};
template‹class TRet, class TP1, class TP2›
class CDelegate2 {
//…
};
template‹class TP1, class TP2›
class CDelegate2‹bool, TP1, TP2› {
//…
};
и т.д…
Андрей 20.3.2003 12:22
... и статической T не надо
А мне как то больше понравился такой вариант (где нет статического T _t):
template‹class T›
class IsPointer {
private:
struct TrueType { char dummy_ [1]; };
struct FalseType { char dummy_ [2]; };
struct PointerShim { PointerShim(const volatile void*); };
static TrueType ptr_discriminator(PointerShim);
static FalseType ptr_discriminator(…);
static T rett();
public:
enum {value = sizeof(ptr_discriminator(rett())) == sizeof(TrueType)};
};
template‹›
class IsPointer‹void› {
public:
enum {value = false};
};
Кстати, еще неплохо было бы дабавить IsArray, который таки почти смог добить Андрей Тарасевич в одном из топиков форума С++
PS Павел, кстати, эту же статью от вас я уже видел в каком то online издании… Или я ошибаюсь?
Andrew S 7.3.2003 17:50
А ссылку на boost.org?
Почему не указал ссылку на boost.org? Там уж намного больше готовых функций, чем ты привёл.
limax 7.3.2003 15:1
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Комментарии
Комментарии Напоследок рассмотрим одну очень важную возможность HTML, которая, хоть и не касается напрямую Web-дизайна, но сильно поможет забывчивым Web- дизайнерам.Комментарий — это фрагмент HTML-кода, который не выводится на Web- страницу и вообще не обрабатывается
Комментарии CSS
Комментарии CSS В главе 2 мы узнали о комментариях — особых фрагментах HTML-кода, которые не обрабатываются Web-обозревателем и служат для того, чтобы Web-дизайнер смог оставить какие-то заметки для себя или своих коллег. Для этого язык HTML предоставляет специальный
Комментарии:
Комментарии: Как бы так это заделать??? Во первых, статья очень хорошая и полезная, спасибо. Применил в реальной программе я этот сингелтон и остался очень доволен. Но мне надо было несколько изменить поведение исходного класса. У меня ситуация такая: есть клиент, который
Комментарии:
Комментарии: template‹class TRet, class TP1› class CDelegate1 { //… }; template‹class TP1› class CDelegate1‹bool, TP1› { //… }; template‹class TRet, class TP1, class TP2› class CDelegate2 { //… }; template‹class TP1, class TP2› class CDelegate2‹bool, TP1, TP2› { //… }; и т.д… Андрей 20.3.2003 12:22 ... и статической T не надо А мне как то больше понравился такой
Комментарии
Комментарии Вплоть до этого времени я тщательно избегал темы комментариев. Вы могли бы подумать, что это будет простая тема... в конце концов компилятор совсем не должен иметь дела с комментариями; он просто должен игнорировать их. Чтож, иногда это так.Насколько простыми
21. Комментарии в СИ++
21. Комментарии в СИ++ Часто бывает необходимо вставлять в программу текст, который используется в качестве комментария только для читающего программу человека и не учитывается компилятором в программе. В C++ это возможно осуществить одним из двух способов. Символы /*
R.2.2 Комментарии
R.2.2 Комментарии Символы /* начинают комментарий, который завершается символами */. Такие комментарии не могут быть вложенными. Символы // начинают комментарий, который завершается концом этой строки. Символы //, /* и */ не имеют специального назначения в комментарии // и
Комментарии
Комментарии Комментарии помогают сделать ваш код более читабельным. Они не влияют на то, что выводит программа. Они написаны специально для того, чтобы вы их прочли. Все комментарии в Bash начинаются с хэш-символа #, за исключением первой строки (#!/bin/bash), имеющей специальное
Комментарии
Комментарии Комментарии — это фрагменты исходного текста программы, которые не компилируются и служат для пояснения кода. Для обозначения комментариев в программах на языке Object Pascal используют следующие конструкции:• // — комментарии в одной строке;• { } или (* *) —
Комментарии:
Комментарии: наследование операторов ›Дело в том, что в языке C++ операторы не наследуются. Это не верно по крайней мере для MSVC++. Более того этот метод используется при написании функтора из библиотеки Loki http://fara.cs.uni-potsdam.de/~kaufmann/?page=lokiport (файл Functor.h), см. также
Комментарии
Комментарии Это правило выглядит достаточно просто:----Правило № 3. Помещайте в код комментарии. Объясняйте ваши допущения (более того, проверяйте их с помощью утверждений). Описывайте сложные блоки кода. При изменении кода изменяйте и соответствующие комментарии. Не
Комментарии
Комментарии Комментарий — это последовательность символов, которая воспринимается компилятором языка Си как отдельный пробельный символ и игнорируется. Комментарий имеет следующий вид:/* <символы> */<символы> должны принадлежать множеству представимых символов.
Комментарии:
Комментарии: Небольшое добавление Искал способ попроще включить поддержку ToolTips без явного использования класса CToolTipCtrl. И в результате сам сделал следующее: int CContentWnd::OnToolHitTest(CPoint point, TOOLINFO* pTI) const { int nHit=0; CString csText; csText="Закрыть окно"; HWND m_hWnd=this->GetSafeHwnd(); pTI->hwnd =
Комментарии:
Комментарии: Не всегда корректный код Вы приводите указатель на функцию-член класса клиента к указателю на функцию из конкрентного класса (slot::Thunk), это для некоторых классов может быть невозможно, ошибка компилятора, что-то типа "указатели имеют разную природу",
1.2 Комментарии
1.2 Комментарии Часто бывает полезно вставлять в программу текст, который предназначается в качестве комментария только для читающего программу человека и игнорируется компилятором в программе. В С++ это можно сделать одним из двух способов.Символы /* начинают
2.1 Комментарии
2.1 Комментарии Символы /* задают начало комментария, заканчивающегося символами */. Комментарии не могут быть вложенными. Символы / / начинают комментарий, который заканчивается в конце строки, на которой они