All streams
Search
Write a publication
Pull to refresh
93
0
Григорий Борисович @naething

Пользователь

Send message
А каким вообще образом компилятор может проверить такие вещи? Если файл открыт в одной функции, а закрывается в другой. Или указатель освобождается в одной функции, но используется в других. Это можно увидеть только во время выполнения. А чтобы гарантировать что-то во время компиляции, нужно накладывать дополнительные ограничения на стиль использования ресурсов, то есть пользоваться идиомами.
Первое решается и в С++, для этого создано ООП и RAII.

Второе невозможно отследить во время компиляции, ведь обращение к указателю может быть где угодно. Однако против таких ситуации тоже спасет ООП и RAII, если для хранения одиночных объектов в хипе использовать boost::shared_ptr, например, а вместо выделений массивов — std::vector.
BOOL, TRUE, FALSE
Вы по MSDN учились программировать?)
Восторженный первокурсник рассказывает о своем факультете :). Что ж, если есть рвение стать ученым, можно только пожелать удачи. Хотя, подозреваю, что скорее всего вместо него курсу к 3-4 останется одно разочарование во всем происходящем.

Тем, кто надеется, что его чему-то научат на ВМК (или даже на любом другом факультете), могу сказать, что их надежды сомнительны. Учиться нужно самому, ВМК может лишь служить почвой. По моим наблюдениям, те, кто не умели хорошо программировать до поступления, так в большинстве своем и не научились.

Вообще, первые два года на ВМК довольно неплохи, особенно что касается основных математических курсов — линейная алгебра, мат. анализ. А дальше предстоит выбор между тремя потоками.

На третьем потоке, «программистском», много преподавателей-нердов, студентов-нердов (нердов — в плохом смысле слова), сомнительных предметов вроде «Сетей», по которым нужно тупо зубрить какую-то невнятную информацию к экзамену, практически полное отсутствие какой-либо математики (есть только несколько предметов за все три года — матфизика, основы кибернетики и урезанный курс функционального анализа). На кафедре АСВК любят эксплуатировать студентов в корыстных целях.

Второй поток — возможно, наиболее удачный выбор. Хотя там распространены необразованные аспиранты-преподаватели. Лично слышал, как одна молодая преподавательница кафедры Исследования операций при приеме задания по практикуму неоднократно употребляла слово «какашка» в отношении функции, написанной студентом и называла всех на «ты». Также довольно распространена практика использовать студентов для черной работы вроде перепечатки статей. Да, хорошо программировать там не научитесь, последний шанс был на первых двух курсах.

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

Да, а еще во всем корпусе ВМК, на всех этажах и во всех аудиториях, навешали камер видеонаблюдения, что ужасно меня раздражает.

Я писал трассировщик лучей, под юникс, сдавал только исходный код. (первый поток)
Это, вообще говоря, — сленг «анонимных имиджборд» (4chan, 2ch и т. п.). Употреблен в статье совсем не к месту. Значение этого «слова» вы без труда найдете в гугле :)
Еще из этой серии есть Orpheus от отечественного разработчика:
thekonst.net/ru/orpheus
Пардон, читал условие по диагонали)
Ну или с использованием деревьев:

#include <iostream>
#include <set>

using namespace std;

int main()
{
    int N, M, t, count = 0;
    cin >> N;
    
    set<int> prof;
    while(N-- && cin >> t) prof.insert(t);
    
    cin >> M;
    while (M-- && cin >> t)
        count += prof.count(t);
    
    cout << count;  
    return 0;
};
Решение на C++:
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    int N, M, t, count = 0;
    cin >> N;
    
    vector<int> prof(N);
    while(N--) cin >> prof[N];
    
    sort(prof.begin(), prof.end());
    
    cin >> M;
    while (M--)
    {
        cin >> t;
        if (binary_search(prof.begin(), prof.end(), t))
            ++count;
    }
    
    cout << count;  
    return 0;
};
Кстати, 35 тонн это не совсем в продольном направлении. См. схему «Variable Prüfvorrichtung für Kopf-/Scher- und Schälzug» на www.metaklett.de/technologie.html

Кто-нибудь может разобраться, что такое Kopfzug и Schälzug? Там ниже в таблице этот самый Schälzug всего 300 грамм на см².
Рискну предположить, что за заголовки в виде картинок
Интересно, но без кроссовера и популяции назвать это генетическим алгоритмом у меня не повернулся бы язык :)
… сумка размагнитится :)
Да уж. Образцовый пример «красноглазости».
HTML или BB-коды — без разницы (угловые скобки или квадратные, безразлично). Правда, в HTML конкретно на Хабре меня раздражает длинное имя тега blockquote, могли бы до quote сократить или даже до q. Это не совсем HTML получится, но какая разница, все равно парсер работает.

WYSIWYG мне кажется менее удобным.
Шесть месяцев в открытом космосе
Это как, болтаясь в скафандре снаружи корабля? :)

39 дней. Примерно столько же времени корабли с европейскими поселенцами добирались до Америки столетие назад.
Столетие назад? Да ладно, вроде бы столетие назад уже за неделю плавали без проблем.
m4 — от слова macro: m и еще 4 буквы
Простите за ссылку на небогоугодный ресурс: lurkmore.ru/Mithgol

Information

Rating
Does not participate
Location
Palo Alto, California, США
Date of birth
Registered
Activity