Задать вопрос
  • Почему string - это char*?

    Я так понял, что std::string не имелся в виду.
    То есть суть вопроса такова: почему строки передают как char*, хотя это тип указателя на один char.

    Дело в том, что массивы в C нельзя передавать как параметр функции, указатель на массив нельзя сохранить.
    В результате массив, например char[8], принято передавать как указатель на его первый элемент: char*. Более того, при передаче массива в функцию он автоматически разлагается (decays) до указателя на первый элемент.

    Остальные элементы получаются при помощи адресной арифметики: *(p+3) или p[3], что одно и то же. Итак, указатель в коде C может указывать как на одну переменную, так и на целый массив (точнее, его начало).

    Для массивов int или любого другого типа обычно вместе с указателем на первый элемент передают размер массива. Но строки C завершаются нулевым символом, поэтому здесь длина известна и так. Вот и получается, что char* используют вместо char[N].

    Edit: На самом деле, в C можно объявить указатель на массив:
    int (*arr)[10] = malloc(sizeof(*arr) * 5);
    Не помню, чтобы я видел такую конструкцию в реальном коде.
    Ответ написан
    1 комментарий
  • Чем отличается char* от int*, float* и других в Си?

    @res2001
    Developer, ex-admin
    Размер указателя один и тот же, если вы это имеете ввиду.
    char* отличается от int* тем, что первый указывает на область памяти в sizeof(char) байт, а второй в sizeof(int) байт. Это важно, например для адресной арифметики.
    Например имеем:
    int ival[] = {0,1,2,3};
    char* pc = "This is a string";
    int* pi = &ival;

    Если мы делаем pc++, то к pc прибавляется sizeof(char), а в случае pi++ к pi прибавляется sizeof(int).
    А так же, когда мы делаем разъименование, то получаем в результате соответствующий тип:
    *pc - дает char
    *pi - дает int
    Если бы не было типизации указателей, то не было бы и адресной арифметики и разъименования. Посмотрите, например, что можно сделать с указателем на void.
    Ответ написан
    5 комментариев
  • Сссылка с ютуба, как сделать переоброзователь?

    @Cyber_bober
    Берете через js и отрезаете у ссылки на ютубе значение параметра v, в данном случае MCAczypeNe8, потом уже вставляете его в айфрейм вместо ххх

    <iframe width="560" height="315" src="https://www.youtube.com/embed/xxx" frameborder="0" allowfullscreen></iframe>
    Ответ написан
    1 комментарий
  • Что изучать C# или С++?

    @alex_ak1
    В с++ вы сразу столкнетесь с указателями, их математикой, инклудами, дефайнами и прочей черной магией древних времен. Поначалу это реально сложно понять, особенно если вчитываться и копать. Так что я за c#, он проще, не такой мутный временами и вполне современен.
    Ответ написан
    Комментировать
  • Что лучше использовать для аутентификации: сессии или куки?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    Авторизацию я как-то не изучал, но что-то не вижу никакой логической разницы между сессиями и куками.
    Во-первых, сессии разве бывают без куков?
    Во-вторых, если куки (допустим, в куках хранится токен - для примера) хранятся ТОЛЬКО на клиенте, то как сервак будет проверять, верный ли ему токен сует клиент, и от какого вообще аккаунта (юзера) этот токен? Значит, опять же токен и на серваке храниться должен, либо в БД, либо в файлах, возможно с примением редиса...

    Короче, по-моему, сессии - это лишь частный случай решения на базе куков.

    UPD: да и сам вопрос "что лучше" изначально абсурдный. Вроде очевидно, что раз есть 2 инструмента для одной и той же задачи, значит, один лучше для одних случаев, другой - для других. И без уточнения задачи ответить "что лучше" нельзя.
    Ответ написан
    Комментировать
  • Ноутбук до 35 000 рублей?

    @vm916
    asus k501L докинуть оперативки ещё 4гб и добавить м2 ssd от самсунга. Будет огонь.
    Ответ написан
    Комментировать
  • Жёсткий диск не работает на нём полоски, можно починить его как?

    A_M
    @A_M
    Основная специализация - системы видеонаблюдения
    Если вы стебетесь, то очень толсто.
    Если не стебетесь, то забудьте про этот диск и всю инфу. Ему пиздец. И умер он в мучениях.
    Ответ написан
    1 комментарий
  • По какому принципу работают программы по оптимизации ОЗУ?

    @nirvimel
    Они работают по принципа маркетинга:
    1. В момент когда юзер узнает что-то про выделение/освобождение оперативки, с вероятностью 0,5% ему в голову придет мысль (по привычке) скачать программу для оптимизации этого процесса (как зачем? это же такая ОПТИМИЗАЦИЯ).
    2. После окончания триала 1 из 10 юзеров (так же по привычке) оплатит full version.
    3. ???
    4. PROFIT!


    В действительности управление выделением памяти - исключительная прерогатива операционной системы и никакие прикладные программы не способны ей в этом помочь (разве что помешать).
    Ответ написан
    3 комментария
  • Почему не стоит вызывать методы в конструкторе?

    @protven
    Ну например потому что у вас на момент вызова конструктора объект вашего класса еще не создан окончательно (внезапно!). И только находится в процессе создания. Поэтому объект может быть в неконсистентном состоянии на момент вызова своего метода.
    Ответ написан
    Комментировать
  • Выбор конфигурации ноутбука?

    Jump
    @Jump
    Системный администратор со стажем.
    Смотря какие задачи будете делать, если что-то тяжелое в автокаде, компасе то конечно процессор нужен более мощный.
    Но процессор это мелочи.
    В первую очередь обратите внимание на память и диск.
    Памяти не меньше 8, желательно 16.
    Диск = только SSD.
    После этого можно и процессор повыбирать.
    Ответ написан
    6 комментариев
  • Чем и как можно восстановить винчестер HHD 2.5?

    Jump
    @Jump
    Системный администратор со стажем.
    Как и чем можно его восстановить?
    Только нести к специалистам, и это будет дорого.

    Стоит ли его вообще разбирать?
    Ну если хотите разобрать на магнитики, то стоит.

    Стоит ли попробовать использовать джамперы?
    Боюсь даже представить как можно использовать джамперы в данном контексте.
    Ответ написан
    Комментировать
  • Windows10 не работает PHP?

    Ivanq
    @Ivanq
    Знаю php, js, html, css
    Смотрите в настройки Apache. Надо прописать, чтобы .html обрабатывались php
    Ответ написан
    Комментировать
  • Windows10 не работает PHP?

    littleguga
    @littleguga
    Не стыдно не знать, а стыдно не интересоваться.
    >создаю html файл
    Надо .php файл создавать.

    upd:
    Либо измените настройки apache/nginx так, чтобы файлы .html тоже обрабатывали php. Инструкция как это сделать.
    Ответ написан
    Комментировать
  • Есть ли какой-нибудь список нежелательных сайтов для офиса?

    @plasticmirror
    а можно вопрос - зачем?
    кто в офисе "работает"? для творческих профессий надо мотивацию, а не запреты
    для продажников и прочих - планы и пофигу чем в остальное время занимаются...

    безопасность, имхо, это про понимание за счет чего важная инфа не улетит налево или айфон с кухни не сопрут "продавцы билетов в театр", а не про "давайте выключим всем все, кроме чего-нибудь"
    Ответ написан
    5 комментариев