copal: "можно передавать в качестве значения. " - у меня прошито в голове "передать в качестве значения - значит скопировать, как в int a мы копируем содержимое переменной int b = 2". А применительно к функциям - копируем весь код функции, а не копируем ссылку на участок памяти, где лежит код функции. Еще раз: в яваскрипт "передача функцию по значению" - это копирование ссылки на участок памяти, где лежит код этой функции - никакого копирования всего кода функции?
Mercury13: Спасибо, вроде смысл рантайм-библиотеки понял - раньше думал, что все копируется в .cpp-файл, как заголовочные .h-файлы. А они вместо этого уже скомпилированы в объектный код и собраны в библиотеки.
Вы работали с TWAIN? Выбираю между C# и Qt, так как опыта нет ни в том, ни в другом. Что посоветуете? По C# нашел обертку: sourceforge.net/projects/twainforcsharp/. Последне обновление - от 13го сентября.
Как привык при написании классов, что поля и методы в одном блоке - все время сбиваюсь. В памяти есть объект с полями, есть класс этого объекта с методами. В методах первый параметр скрытый - this, в который передаем объект класса.
class Dog{
String hame;
void setName(this, String n){ this.name = n; }
Dog dog;
dog.setName("Stive"); //setName(dog, "Stive");
С методами интерфейса - тоже самое. Приведение к интерфейсу - эта только работа компилятора с метаинформацией о классе объекта: смотрит, какого типа объект, затем читает метаинформацию этого типа.
Т.е. можно будет сделать обратное приведение? У меня в голове С++ сидит, там как будто какие-то нюансы с были с этим.
Получается: после реализации интерфейса, методы интерфейса становятся частью класс, который их реализовал, но так как можно привести к интерфейсу, то эти методы дополнительно помечаются, что они не класса, а интерфейса?
method(ISome obj); Компилятор смотрит сигнатуры ISome, затем идет в метаинформацию obj, ищет в ней эти сигнатуры, и если находит - передает ссылку на obj в method. Общая идея такая?
Vitaliy Orlov: То есть сначала анализируется, какая нужна информация и какие у нее есть взаимосвязи? Ведь в базу просто так не засунешь, нужно сначала ее разработать: таблицы, связи. Результат анализа исходной информации - создать структуру таблиц и алгоритм парсера (в случае, если парсить надо не структуру-каталог или нечто уже известное и реализованное)?
Спасибо за алгоритм. Да, в большей степени интересует навык самому составлять алгоритмы. Разобранное выражение предварительно сохраняется в программе, прежде чем будет записано в файл либо базу? Применительно к питону не подскажете, какой тип использовать для такого промежуточного хранилища? В языках вроде ява наверняка есть подходящий тип, а вот питон сильно аскетичен по сравнению с ними.