Форум программистов, компьютерный форум, киберфорум
Наши страницы

препроцессор с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Виртуальный файловый сервер/клиент http://www.cyberforum.ru/cpp-beginners/thread347575.html
необходимо написать программу файловый сервер, подскажите плиз документацию на эту тему. и желательно на русском языке.
C++ Рекурсия на картинке файлик из википедии в которой говорится что рекусия имеет вид дерева и некоторые ветви могут вычислятся по многу раз. А как это реализованно в с++? то же с повторениями? И как выделяется... http://www.cyberforum.ru/cpp-beginners/thread347566.html
C++ Не выделение памяти
По какой причине не работает это программа ? #include<iostream> #include <string> using namespace std; int main () {setlocale(LC_ALL,"Rus"); int z; cout<<"Введите кол-во чисел --> "; cin>>z;
Незнаю как вставить файл из буфера обмена...надеюсь на помощь C++
//---------- Сама программа ----------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <vcl\Clipbrd.hpp> #include "Unit1.h" #include...
C++ Написание интерпретируемого языка программирования http://www.cyberforum.ru/cpp-beginners/thread347523.html
Короче, я хочу овладеть языком Си и написать на нем свой интерпретируемый язык программирования %-) Но к сожалению, сейчас моих знаний не хватает даже на написание токенайзера, что меня не радует....
C++ Красно-чёрное дерево Здравствуйте! мне нужно создать красное-чёрное дерево...посоветуйте простой понятный учебник или код с объяснениями...заранее спасибо подробнее

Показать сообщение отдельно
Bers
Заблокирован
03.09.2011, 16:05  [ТС]
Цитата Сообщение от niXman Посмотреть сообщение
тут, GetInstance() - статический метод, а my1 - глобальная переменная? я ничего не напутал?
Типа да. my1 - это указатель. Дешевый в плане конструирования.

А вместо GetInstance() может быть любая функция, не обязательно классовый статик.

Способ подготовиловки такой: в хэдере прописываются функции, которые потенциально могут понадобится.

Дальше за дело принимается препроцессор - он выбирает нужную линию компиляции.
На каждой такой линии инициализируется глобальный указатель, с помощью которого запускается нужный пакет "предварительных функций"

Методы классов, и их аспективная начинка (логи всякие, внутренние проверки, и тп) - все это оборачивается в макросы типа TEST, что должно гарантировать: когда, какие, и при каких условиях методы будут скомпилированы, а какие - нет.

Задача этих методов - инспектировать внутреннею работу класса, выявлять ошибки, которые невозможно выявить на этапе компиляции.

Ошибки компиляции я предполагаю выявлять по методике Роббинсона (напоминает Александресску) - добавление в приватную зону методов, которые никогда не будут вызваны, а потому и скомпилированы, но будут ругаться на нарушения некоторых контрактов класса.

Так же, в процессе разработки класса, я предполагаю разработку дополнительного класса, единственная задача которого - подвергнуть юнит-тестированию целевой класс.

Все автоматические юнит-тесты должны произойти ещё до точки main()
То бишь, создаётся глобальный указатель, который инициализируется статик-методом класса-тестера. Этот статик метод запускает пакет тестовых функций, которые должны охватить весь интерфейс тестируемого класса, ну и тп.

Таким образом, инициализация указателя происходит в хедере, а не в файле спп.
И этот момент идеи меня несколько смущает.

Ну и напоследок, думаю неплохо было бы предусмотреть режим, когда юнит-тестам подвергается каждый только что созданный объект, с конкретным набором стартовых данных.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru