Перейти к содержанию
    

Лидеры

Популярный контент

Показан контент с высокой репутацией 24.06.2024 во всех областях

  1. I. Стандартный подход отделить мух от котлет через имплементарный заголовок с реализацией в файле myTemplate.h template <typename T> void f(T value); #include "myTemplateImpl.h" // Включаем реализацию здесь Файл myTemplateImpl.h template <typename T> void f(T value) { // Реализация функции } В этом случае мы отделяем объявление и определение шаблонной функции в разные файлы, но включаем файл с реализацией myTemplateImpl в конце файла с объявлением myTemplate.h. II. альтернативный подход Сделать инстанцировку в исходном файле. Файл myTemplate.h template <typename T> void f(T value); Файл myTemplate.cpp #include "myTemplate.h" template <typename T> void f(T value) { // Реализация функции } // Явная инстанцировка для нужных типов template void f<int>(int); template void f<double>(double); Использование #include "myTemplate.h" int main() { float a = 1.0f; double b = 3.14; f<float>(a); //для варианта II ошибка, т.к. нЭт его (нет инстанцировки для float в cpp) f<double>(b); //будет работать для обоих вариантов return 0; }
    2 балла
  2. Да не надо там оптронов, потенциал земли один и тот же, источник питания тоже один, обычная защита по цепи входа и все, землю просто разводить нужно правильно и хороший стабилизатор питания...
    2 балла
  3. понятно А разве всякие GUI - это не конкретный пример. Например Qt состоит обычно GUI состоит чуть менее, чем полностью из членов-указателей. Указатель на парент, указатель на child. В GUI указатели на всякие next, prev, .... у главного окна может быть массив детей (массив указателей на Widget), и надо всем дать команду отрисовки - по массиву указателей всех перебрал. А может на главном окне 2 кнопоки и 2 лейбы, у главного окна только один указатель на child (пусть будет кнопка1), а у этой кнопки1 указатель next на кнопку2, у кнопки 2 указатель next на лейбу1, у лейбы1 next указывает на лейбу2, у лейбы2 next =0; Главное окно вызывает у child->repaint(), т.е. у кнопки1, кнопка1 в своем методе вызовит repaint у своего child, а потом проверит, если next != 0, то вызовит next->repaint(); И так произойдет repaint всех детей главного окна включая внуков, правнуков и все родовое дерево до последнего младенца. тоже самое при удалении (о чем говорил jcxz). Так же можно открепить чаилда (созданого динамически в какойнить фабрике) и передать другому родителю.... это с указателями это делается.
    1 балл
  4. имеет. тут стрельнуть себе в ногу можно... template<> func<int>(int a) { } //это явная специализация template func<int>(int a); // это явная инстанцировка в чем различие!? Когда нужно сделать отдельную реализацию для белой вороны какого-то типа, то делается явная специализация. поясню на примере Файл myTemplate.cpp #include "myTemplate.h" template <typename T> void f(T value) { // Общая реализация для всех типов } // Реализация явной специализации для типа `unsigned int` template <> void f<unsigned int>(unsigned int value) { printf("Hello unsigned int = %u"); } // Явная инстанцировка для нужных типов template void f<int>(int); template void f<double>(double); Использование #include "myTemplate.h" int main() { int a = -1; double b = 3.14; unsigned int c = 123; f<int>(a); // Использует общую реализацию f<double>(b); //Использует общую реализацию f<unsigned int>(c); //Использует специализированную реализацию, которая выводит "Hello unsigned int = *" return 0; } вобщем как-то так...
    1 балл
  5. У Вас слишком завышенная самооценка. С одной стороны это хорошо, но может выйти боком. Не в коем разе не занижаю уровень Ваших знаний, однако называть Ваших коллег "обезьянками" - плохая идея. Хотя в Вашем окружении возможно именно так, это не значит что у всех так же
    1 балл
  6. Вы тот самый очередной "умник", мнение которого обязательно должно быть учтено, а остальных отброшено как неквалифицированное. Таких тут уже 5 страниц, да. Оптрон в авто - дожили. P.S. К вопросу о необходимости TVS И с обратной стороны почти так же - и если бы оно было сделано от балды, то не выжило бы при всех видах испытаний.
    1 балл
  7. 1. You don't have any LDO in your circuit. As I (and the datasheet) said LT1261 is a switching capacitor regulator. It has inherent ripples and to get a 'good', clean DC you need to filter the output (see pp12,13 of the datasheet). And you should worry about the output voltage not the C1 current. 2. It is a DC-DC inverter. When I say DC I do mean it. It is a DC not a pulse generator. You can't expect that fast operation from it. If you really need that short pulses like in your model (200uS) the approach should be different - you first generate DC and don't touch it any more 🙂 Don't turn it on and off that fast. Instead put a pulse forming circuit (switches) between the DC-DC and the load. For example:
    1 балл
×
×
  • Создать...