Уроки по С++. Урок 8. Указатели

  Рет қаралды 128,983

getKnowledge

getKnowledge

Күн бұрын

Торрент: rutracker.org/f...
forum.manysourc... - комментарии оставляйте здесь/
Научимся работать с адресами переменных

Пікірлер: 143
@РоднаяНяшка
@РоднаяНяшка 10 жыл бұрын
Ну хоть кто то понятно объясняет, спасибо парень. Читаешь сидишь материал по теме и все элементарно как 2+2, а потом ВНЕЗАПНО с середины статьи начинается непонятно откуда взявшаяся чушь. Ты няша:3
@SirLancevrot
@SirLancevrot 10 жыл бұрын
Наверно лучшие уроки по С++ на русском языке, спасибо :)
@barinovmax5544
@barinovmax5544 6 жыл бұрын
@rereadd
@rereadd 9 жыл бұрын
О указателях на 12:44
@ivanklykov2613
@ivanklykov2613 9 жыл бұрын
Проще же, и компактнее, прога которая пишет строку задом на перёд. int main () { int i; setlocale(LC_ALL,"RUS"); char str[100]; cout =0;i--) { cout
@xmarkuesss8827
@xmarkuesss8827 5 жыл бұрын
Лучшие уроки
@Unity3dFM
@Unity3dFM 11 жыл бұрын
наконец то дождался!!! спасибо за серию!!!
@gde_strannik4696
@gde_strannik4696 7 жыл бұрын
есть же функция strrev которая меняет порядок символов на противоположный
@TheWilliamHome
@TheWilliamHome 8 жыл бұрын
Не понимаю зачем дизлайкать! Если вы тупые и не понимаете то это не значит что видео плохое
@skrilelf
@skrilelf 8 жыл бұрын
+William Home А зачем нужны дизлайки? Я прост такой плохой и решил зайти в рандомное видео и дизлайкнуть на зло? От нечего делать дизлайкать людям?
@tymchenkoyevhen3045
@tymchenkoyevhen3045 7 жыл бұрын
99,99% людей увидя что из 1000 лайков нету дизлайков поставлят как раз дизлайк (Типа особенные)
@legatt.
@legatt. 8 жыл бұрын
А почему, если я ввожу число double 0.999999 то выводится единица? Это как-то можно обойти или одна из тонкостей си, как неточность под конец вывода(я имею виду: 0.1111111111135...)?
@nickbarton5251
@nickbarton5251 9 жыл бұрын
Двойной массив и опять таки все работает без указателей int main(){ setlocale(LC_ALL, "Russian"); int N, M; cin>>N>>M; int A[N][M]; for(int i=0; i
@KennyMcKormic123
@KennyMcKormic123 11 жыл бұрын
Новый подход к подаче материала, можешь посмотреть уроки по 2 мерным массивам они здесь есть
@mastermind15937
@mastermind15937 9 жыл бұрын
Не понял что значит "строка эта адрес первого элемента". Адрес - это шестнадцатеричное число, которое система автоматически выделяет в памяти, а строка это набор символов, которые вводит человек. Как одно может равняться другому?
@KennyMcKormic123
@KennyMcKormic123 9 жыл бұрын
Сторка это набор байт, где каждый байт символ, а с точки зрения С++ строка это массив, а массив лежит в памяти, адрес первого байта это и есть имя массива(строки), остальные символы получаются путмем инкрементирования указателя, пока не встретиться null терминал('\0'). Правильней было сказать имя строки - это адрес первого элемента.
@vitaliychervatyuk7217
@vitaliychervatyuk7217 8 жыл бұрын
3-5 лет постоянной практики) и будут вас называть Middle C++ programmer)
@bluepotchannel4745
@bluepotchannel4745 8 жыл бұрын
Аааа, сложна D:
@ИмяФамилия-е1ж4т
@ИмяФамилия-е1ж4т 8 жыл бұрын
Первая задача. #include using namespace std; void main() { char mass[80]; bool tf = false; cin.getline(mass, 80); for (int i(strlen(mass)); i != 0; i--) { cout
@MrFeeman1
@MrFeeman1 10 жыл бұрын
Можно ли в программе Microsoft Visual C++ 2010 Express сделать что бы при вводе слова, так же выпадали подсказки?
@indi_j
@indi_j 10 жыл бұрын
подскажите, пожалуйста, как сделать так, чтобы выводились не все слова наоборот, а только предложения в обратно порядке, например даны предложения 1,2,3, а вывести нужно 3,2,1
@Sleepmalice
@Sleepmalice 9 жыл бұрын
Денис а у меня вопрос именно по содержанию твоего курса.Почему именно такое содержание и именно такие задачи? ты как то выстраивал курс по какому то принципу или же считаешь что эти темы наиболее важны впринципе?
@владиус
@владиус 8 жыл бұрын
Открой любой учебник по с++ там похожие содержания. Хотя думаю через год ты сам все узнал, я за пол года базовый курс освоил
@freedoom9654
@freedoom9654 7 жыл бұрын
я не понял как поднимается вверх этот символ, объясните пожалуйста
@SkyGrel19
@SkyGrel19 9 жыл бұрын
А можно же в программе вывода строки в обратном порядке сначала ввести строку, а потом вывести по очереди весь массив в обратном порядке? #include #include #include #include using std::cout; using std::endl; using std::cin; int main() { setlocale(LC_ALL , "Russian"); char str[80]; do { cout
@nikitalebediev9908
@nikitalebediev9908 8 жыл бұрын
А для чего указатели в играх
@Crypto__Baron
@Crypto__Baron 9 жыл бұрын
Спасибо тебе
@KlinovAS
@KlinovAS 7 жыл бұрын
Честно говоря я разочарован немножко о С++. Во многих языках String'овая переменная пишется очень просто и без явного выделения памяти. Ждал ждал и не понял до конца. К примеру мне нужно парсить что-то в будушем. Мои String'овые переменные будут постоянно изменятся в зависимости от их динамической принадлежности. Уже даже наплевать на скорость выполнения. Сегодня скорость никого не волнует, разве что при просчете следующего хода в шахматах... Я хочу записать просто как в VB или JS или PHP: $A = "Чтото"; Потом $A = $A + " еще чтото..." Одно хорошо в С++, что я могу смотреть что делается в памяти, но это хорошо в плане только что взлома ПО и прокачки игр или ПО. Какие еще приемущества чтения адресного пространства? Только хакерские. Читать напрямую из портов, сканирование сети и многое другое, что в простеньких языках закрыто. Так зачем С++ у меня вопрос возникает? Он как бы должен быть переходом между машинным кодом и более простым языком. У меня такое сложилось впечатление. По популярносте С++ занимает совсем не последнее место, а Питон почти первое. Углубился в Питон и чуть не ох*ел насколько он конченый. В первую очередь я охренел когда увидел что для цикла For от 1 до 100 нужно указывать массив от 1 до 100. А теперь представте эту пое*нь на машинном коде. Бинарники и асемблерщики наверное охеривают от змеинового программирования. С++шка еще держится не плохо. Ну посмотрим дальше хорошие видосики, что нам покажут классы. И стоило ли гадить на обычные языки как VB. VB с классами работает медленно (в два раза). У меня две книги (библии): Visual Basic 6 [Б.Сайлер и Б.Спотс] (всю прочел) и Visual C++ [К.Грегори] (прочитал около 100 страниц). В VB написано все очень интересно по порядку. В конце доступно описано все о классах. С++ книга начинается сразу с классов и уже под конец начинается о окнах у виндовс, которые без 'include и using и море мусор-кода по умолачнию хрен таки просто сделаешь. На да хрен с этим кодом. Меня шеф постоянно попрекает, что я пользуюсь виндовс ХР, а типа нужно уже 10тку осваивать. На что я отвечаю, что сам виндовс почти не изменился в лучую сторону, так как количество элементов не выросло, программы не стали 3д да и фоновых приложений все больше и больше, а мне от этого никакого кайфа. Даже "Поиск" раньше искал по всему что хочу, а сейчас куда-то пропало даже "дата создания". И таких примеров просто море. Так вот. В 10тке будет смешно говорить о таком явлении как консоль, а если проще - о DOS, команды CLS и так далее. Но С++ так и осталась той С++ которая базируется на все тем же что при железе. Изучая дальше С++ я хочу понять на сколько действительно отличается С++ от других языков и насколько амбициозно или по справедливости было высказано публично. Ну и также для себя понять: нужно мне или не нужно. Конечно что нужно. Уже есть планы и для С++. К примеру работать с массивами в VB просто отвратительно и неудобно. Ява скрипт показывает мастерство в этом плане и по скорости даже радует. Так что серверная программа сделанная на С++ это может быть даже очень перспективно. И я на это пока что надеюсь. Спасибо за урок.
@АлесяОлеся-е7е
@АлесяОлеся-е7е 6 жыл бұрын
Если честно, я перечитал твой коммент 4 раза, кроме ужасного форматирования, я заметил что ты не можешь донести мысль. Начнем с того что строки изначально появились в Си, их первое представления было, какое то количество адресного пространства на строковый литерал. char* str = "Testing"; Примерно так выглядила строка в Си, в С++ в свою очередь пошли иным путем, реализовали строки как коллекцию символов без явного разделителя байт. То есть массив строка. Но все это лишь условности перед классом string который дарит нам реальные строки. Дак а в чем замес то!?
@KennyMcKormic123
@KennyMcKormic123 11 жыл бұрын
Мой русский - это особый случай.
@567ilona
@567ilona 8 жыл бұрын
//программа считает кол-во слов с определенным символом. #include #include using namespace std; int main() { setlocale(LC_ALL, "RUS"); int bukva = 0; bool clovo= false; char mas[100]; cin.getline(mas,100); for(int i=0; i
@СтаниславПикун
@СтаниславПикун 6 жыл бұрын
можно было написать reverse(str.begin();str.end()) строка бы перевернулась
@Minazavr
@Minazavr 11 жыл бұрын
он же сказал уроки новые с помарками.
@Ii_Naomasa_san
@Ii_Naomasa_san 7 жыл бұрын
Боже, сколько еще раз надо посмотреть это видео, чтобы понять, как эти чертовы указатели работают???
@АлесяОлеся-е7е
@АлесяОлеся-е7е 6 жыл бұрын
Ровно один раз, и немного практики. А еще дока вроде cppstudio.com.
@ThomasLinkzat
@ThomasLinkzat 10 жыл бұрын
ничего не понял(
@Letsgowwwq
@Letsgowwwq 6 жыл бұрын
Жаль Денис пропал D:
@taikata1vi
@taikata1vi 9 жыл бұрын
Lol. Мой вариант: bool inWord = false; int b = 0; for ( int i(0); str[i] != '\0'; i++) { if(isalpha(str[i]) && !(inWord) && str[i] == 'b') { b++; inWord = true; } if(!isalpha(str[i])) { inWord = false; } } cout
@НиколайСамсонов-ф1м
@НиколайСамсонов-ф1м 9 жыл бұрын
У вас ошибка в первом условном операторе if, посмотрите. Ваш алгоритм решает совсем другую задачу. Вы считаете кол-во слов, которые начинаются с буквы 'b'.
@pavelnevagno9723
@pavelnevagno9723 9 жыл бұрын
Николай Самсонов Здесь верная реализация. Проверьте, если не верите
@igorscream
@igorscream 7 жыл бұрын
До "кОкого"? Ты прикалываешься?
@АлесяОлеся-е7е
@АлесяОлеся-е7е 6 жыл бұрын
В смысле? Это урок по грамматике, или по программированию?
@bobblack5495
@bobblack5495 8 жыл бұрын
Не уверен, что на русском языке существуют лучшие уроки по с++, чем эти. Но как же режет слух неграмотность ведущего, я извиняюсь конечно, но до "кокого числа", "резульТАтирующая матрица"... жесть) но спасибо за труд!
@legatt.
@legatt. 8 жыл бұрын
слух??
@ИльдарБулатов-с7р
@ИльдарБулатов-с7р 6 жыл бұрын
могу посоветовать еще один канал, мне лично тож нравиться, он более глубокие вещи рассматривает)
@wangulsan3037
@wangulsan3037 6 жыл бұрын
какой?
@Stalevik
@Stalevik 9 жыл бұрын
Спасибо конечно, но пол часа объяснять что такое указатель... это... както... слишком.
@aIis_ka
@aIis_ka 4 жыл бұрын
У меня вот такая строка наоборот: cout = 0; i--) // Вывожу строку задом наперед cout
@TAP1X390
@TAP1X390 Жыл бұрын
Друг я прочитал
@ИльяПостильга-в6ц
@ИльяПостильга-в6ц 7 жыл бұрын
Денис, почему прекратили снимать новые видео?
@ДышельЮрий
@ДышельЮрий 9 жыл бұрын
Спасибки за уроки! Не мямлиш а нормально обьясняеш. Живи долго и процветай \\//.
@ДмитрийЕфимов-б6й
@ДмитрийЕфимов-б6й 10 жыл бұрын
Очень понравился урок, потрясающе объясняешь, просто, доступно без лишних слов и с быстрой скоростью, ещё успеваешь параллельно много полезной информации давать. Спасибо тебе огромное, все твои уроки классные, прям рад, что есть такие толковые люди.))))
@ProgScriProf
@ProgScriProf 9 жыл бұрын
До твоих уроков никогда не понимал применение указателей и их смысл. Теперь я всё отлично понял! Спасибо большое!
@itechname
@itechname 10 жыл бұрын
Денис, спасибо за уроки, все ясно и четко объясняешь!
@Letsgowwwq
@Letsgowwwq 6 жыл бұрын
2018...
@denisnasibullin7779
@denisnasibullin7779 8 жыл бұрын
Получаю огромные удовольствия от решения ваших Д/З
@Andrew-ht3dj
@Andrew-ht3dj 6 жыл бұрын
а почему на 19:00 разница между адресами была в 10 байт ,если первым был int, значит следующая переменная должна иметь адрес адрес первой+4?
@aIis_ka
@aIis_ka 4 жыл бұрын
Не совсем ясно, к тому - же если поменять строки местами, то адресация будет снизу вверх
@iGoha3006
@iGoha3006 10 жыл бұрын
кокого :D
@daniilbarinov9771
@daniilbarinov9771 3 жыл бұрын
Не часто пишу комментарии, но не оставить положительный отзыв - грех. Я влюбился в эти уроки по C++. Ньюансы, какие-то фишки (например, что если мы не знаем на что в итоге будет ссылаться указатель, то можно использовать тип void), практические задания... Ребята, если вы как я были в поиске лучших уроков на ютубе по плюсам и перебирали самые разные каналы - остановитесь на этом. Я потратил 6 часов чистого времени, пересмотрел на десятке разных каналов по 10 видео из серии и остановился на этом курсе видеоуроков. Поверьте, лучше вы вряд ли найдёте. P.S. автору огромное спасибо. Писать курсовую на плюсах, а я на первом курсе на плюсы подзабил. Теперь приходится всякие темы с "подковыркой" и недостаток практики восстанавливать, с чем данная серия видео очень помогает!
@KolarusTV
@KolarusTV 8 жыл бұрын
Полностью скопировал ваш код из ДЗ про умножение матриц, после ввода программа крашит
@ИванКрасноярский-е3я
@ИванКрасноярский-е3я 2 жыл бұрын
до кОкого числа
@DimaIrkutsk
@DimaIrkutsk 10 жыл бұрын
А адреса всегда меняются? То есть, если я допустим запущу еще какой-нибудь процесс и запущу программу, то адреса ее переменных изменятся?
@Ra1d0N
@Ra1d0N 8 жыл бұрын
насчет динамического массива, я может ошибаюсь, но динамического массива "несуществует" и при написании кода int* d = new int[N]; мы просто выделяем память для такого массива и после инициализации массив станет статическим, и его размер уже не изменить, можно написать такое d = new Int[25]; но это просто смена адреса куда указывает указатель. Я в С++ не силен, но в Java для возможности динамического расширения обьема "массива" были придуманы коллекции(кстати, если не ошибаюсь они в Java пришли как раз из С++, но не уверен), а точнее ArrayList, в котором присутствует расширение массива, да и то путем перезаписи старого массива в новый. В общем таким способом мы не создаем динамический массив, так как его обьем расширить нельзя, вернее вроде можно, я когда-то читал что там после танцов с бубнами и долгих мучений в исходниках можно как-то переписать процесс выделения памяти для массива.
@kirkbou6758
@kirkbou6758 8 жыл бұрын
+Raidon для перераспределения памяти в си есть функция realloc
@ДмитрийКозловский-ъ7г
@ДмитрийКозловский-ъ7г 10 жыл бұрын
Денис, не пойму, зачем тратить память на еще один массив, если нужно просто вывести обратный порядок строки?! for(int i(strlen(str) - 1); i != - 1; i- -) std::cout
@KennyMcKormic123
@KennyMcKormic123 10 жыл бұрын
Хорошо когда нужно вывести тогда все нормально, один цикл не повредит, а если нужно работать с этой строкой то придется каждый раз писать цикл, это накладные операции процессору, проще хранить строку в памяти
@igormaslov4574
@igormaslov4574 8 жыл бұрын
Задания домой как по мне слишком сложные, я пол года работаю с циклами, массивами,типами данных в mathlab, проблем особо не было, а здесь не могу сделать не одного дз практически......
@denisnasibullin7779
@denisnasibullin7779 8 жыл бұрын
Я каждый день прохожу по 1 уроку, но первые 3 урока прошёл за день.
@SamDestrThrones
@SamDestrThrones 8 жыл бұрын
Ребят прошу объясните как расшифровывается эта запись: *int **p = new int**[N]; на 58:58, а то что то вообще как то не укладывается в голове
@владиус
@владиус 8 жыл бұрын
**p это указатель на указатель, а раз он указатель на указатель, то динамическая память создается из колличества N указателей, которые указывают на переменные числа
@владиус
@владиус 8 жыл бұрын
т.е в этой записи создается указатель на массив из N индексов int *p = new int[N] а в этой указатель на указатель массивов индекса int **p = new int*[N]
@trix4081
@trix4081 3 жыл бұрын
кто смотрит в 2021?))
@Cocosik72
@Cocosik72 9 жыл бұрын
Задача на движение курсора) char str[80] = "", c = '|', c1; int index = 0, indey = 0; do { c1 = (char)_getch(); system("cls"); str[index + 1] = '\0'; for (int i = 0; i
@grangeld
@grangeld 9 жыл бұрын
что-то указатели мне не дались, там где про массивы =( А в остальном все классно объясняешь!
@Minazavr
@Minazavr 11 жыл бұрын
денис будет ли ...уроки по c++ builder или по прагромимированию программ не консольных, а с красивым интерфейсом ?
@VentureMLops
@VentureMLops 9 жыл бұрын
супер уроки!
@nickbarton5251
@nickbarton5251 9 жыл бұрын
Обьясните пожалуйста, Создал ради интереса следующую программу динамического массива без выделения на него памяти и она оказалась рабочей. Для чего теперь динамические массивы и указатели если все и так работает? int main(){ setlocale(LC_ALL, "Russian"); int N; cin>>N; int S[N]; for(int i=0; i
@nickbarton5251
@nickbarton5251 9 жыл бұрын
Я же говорю что код который я написал высше работает, а ваш я пробовал еще раньше. Компилировал в Dev C++
@nickbarton5251
@nickbarton5251 9 жыл бұрын
а я сразу в qt перешел
@trufflechannel4145
@trufflechannel4145 7 жыл бұрын
Это зависит от стандарта языка. В С++11 можно инициализировать массивы не константой, а просто переменной
@SpeakEnglish84
@SpeakEnglish84 10 жыл бұрын
Денис, у меня возник вопрос по-поводу bool *SimpleNimber = new bool[N+1]; обычно такую запись мы используем для расширения динамического массива, а в вашем коде мы это делаем чтобы программа считала и тот элемент до которого мы ввели массив? Я не совсем понимаю. Спасибо
@morislife7049
@morislife7049 8 жыл бұрын
у меня указатель всегда занимает 8 байт, а не 4. И да, он позволяет сделать себя типа void или типа переменной на которую он указывает, но никак не другого типа отличного от переменной. Почему у нас с вами такая разница?) это от компилятора зависит?
@arinamartens6858
@arinamartens6858 7 жыл бұрын
потрясающе, спасибо большое, просто все ПРЕДЕЛЬНО понятно, столько нового узнала, хотя уже не новичок, и с указателями долго не могла разобраться, теперь поняла
@xabikiqwe
@xabikiqwe 9 жыл бұрын
Почему не рассказано про случай двойного выделения? Т.е. если мне необходимо выделить массив под 10 элементов, а затем увеличить этот массив как тогда поступать?
@CyberGenius777
@CyberGenius777 9 жыл бұрын
a3[i][j] += a1[i][m] * a2[m][j]; можешь объяснить, почему здесь [i][m] * [m][j] Что тут происходит?
@FANTOM347RB
@FANTOM347RB 7 жыл бұрын
48:00 Можно и без заморочки с указателями сделать int main(){ int a; cin >> a; int B[a]; for(int i = 0; i < a; i++){ B[i] = i; } for(int i = 0; i < a; i++){ cout
@bulatsuleymanov9591
@bulatsuleymanov9591 11 жыл бұрын
Денис, if (c1 == 'A' || c1 == 'a' && index > 0), у тебя - >= 0; попробуй курсор сначала двигать вправо, затем до конца влево, курсор сменится на стандартный, а не тот, что ' | '. Кстати, большое спасибо за уроки, все очень хорошо, доступно изложено.
@ДмитрийБуляница
@ДмитрийБуляница 11 жыл бұрын
Денис,если не затруднит,как нужно объявить двумерный динамический массив,чтобы к его элементам имели доступ различные ф-ции и что и как надо передавать,чтобы одна ф-ция могла работать с разными массивами
@TheAutoArmy
@TheAutoArmy 11 жыл бұрын
А можешь сделать отдельный урок на тему "Начало работы в OpenGL в Visual Studio 2012"? Во многих книгах по теме OpenGL автор сразу начинает рассказывать про функции, а как запустить его на Visual Studio 2012 или C++ Builder не говорят.
@egorcpp
@egorcpp 10 жыл бұрын
ну что же за привычка переменные обьявлять с большой буквы и вида M1, M2. Разве так сложно сразу прививать хороший, ментально понятный стиль программирования. А вообще всем советую C++ Primer Прата почитать, там все понятно и логично описанно.
@KennyMcKormic123
@KennyMcKormic123 10 жыл бұрын
А как ты хочешь, переменные и имена методов с маленькой буквы, а название классов с большой? Это скорее стандарт Java. Можно переменные члены класса начинать с mAppple; m - member, есть еще несколько конвенций. Я на С++ придерживаюсь начинать все с большой буквы, а имена классов с маленькой и ненужно говорить что везде требуют одну конвенцию в разных компаниях очень разный подход к именованию.
@АндрейАрканзасов
@АндрейАрканзасов 8 жыл бұрын
+Denis Markov справедливо
@ireeshke7401
@ireeshke7401 7 жыл бұрын
Символ в консоле не двигается, сделал как у тебя, плюс ты даже не продемонстрировал работу той проги)
@ДмитрийБуляница
@ДмитрийБуляница 11 жыл бұрын
или может как-то скинуть тебе то,что имею на данный момент.возможно,будет легче и увидеть,в чем ошибка,и мне понять
@mrcomedytiger
@mrcomedytiger 10 жыл бұрын
можно упростить нахождение в строке символа b у меня получилось так #include "stdafx.h" #include #include // тут даже не нужна эта библиотека если не ошибаюсь #include using namespace std; // я думаю так проще int main() { try { char str1[40] = "block bblob sclob stock booble"; // Ввод отсутствует bool inWord = false; int numChar = 0; // количество символов b и/или B int j = 0; for(int i = 0 ; str1[i] != '\0'; i++) if(str1[j] == 'b' || str1 [j] == 'B') // проверка на символ b или B в строке { j++; numChar++; } else { j++; } cout
@mrcomedytiger
@mrcomedytiger 10 жыл бұрын
как бе нет
@mrcomedytiger
@mrcomedytiger 10 жыл бұрын
ну , давай умный школьник , ссылку в студию
@Sleepmalice
@Sleepmalice 9 жыл бұрын
mrcomedytiger неочень понял зачем тебе переменная j вместо i? где и как используется inWord?
@pythonpc8090
@pythonpc8090 7 жыл бұрын
кто-то перехимичил :0
@AkzholSlamzhanov
@AkzholSlamzhanov 4 жыл бұрын
ну и звчем нужен этот указатель?
@aIis_ka
@aIis_ka 4 жыл бұрын
ты прошёл курс?
@jiameponline432
@jiameponline432 10 жыл бұрын
Для очищения выделенной памяти Вы пишите delete [] p; Как я понял, [] сопоставимо с "*". Можно ли использовать delete *p ?
@KennyMcKormic123
@KennyMcKormic123 10 жыл бұрын
delete [] p; это для new int[20]; //тоесть для массива, а если new int; то тогда delete p;
@jiameponline432
@jiameponline432 10 жыл бұрын
Denis Markov я понимаю, но равны ли выражения delete [] p и delete *p как равны char *argv[] и char **argv, если я хочу удалить один и тот же массив.
@jiameponline432
@jiameponline432 10 жыл бұрын
Denis Markov можно ли создать динамический массив, длину которого я не знаю можно сказать до конца выполнения программы? Суть - перевести из десятичной системы исчисления в двоичную. Тоесть, я делю с остатком и по этому определяю что записать в строку. Числа могут быть разные, поэтому не хотелось бы под 4 символа выделять 100 символов в инициализации строки. В паскале знаю такую вещь, как список. Вот и интересует, можно ли заполнять строку не указывая ее длину и не инициализируя ее содержимое.
@RufusGames
@RufusGames 11 жыл бұрын
Встаньте на раздачу на торрентино пожалуйста!! =(
@МарияДуванова-э1т
@МарияДуванова-э1т 5 жыл бұрын
Спасибо! Снимайте ещё.
@aidenforbidden6518
@aidenforbidden6518 8 жыл бұрын
#include #include #include #include using namespace std; int main() { setlocale(LC_ALL, "Russian"); char str[100]; char tmp; bool inWord = false; cout
@saint8283
@saint8283 8 жыл бұрын
+TheMrMakara Да что там не читаемого? Он пытается перевернуть строку задом на перед, меняя символы местами с начала и с конца. Вот только.. в начале, в условии оператора if() зачем-то операция присваивания))) Но даже если это ошибка синтаксиса, то сравнивать половину количества символов в строке с нулем - бесполезная операция.
@filimir8894
@filimir8894 7 жыл бұрын
Да Спасе мне в 12 лет всё понятно
@13Melmoth
@13Melmoth 10 жыл бұрын
А вы правда делаете что хотите?
@dobryash367
@dobryash367 11 жыл бұрын
Стандартная музыка из camtasio.
@АндрейКульбеда-ю3и
@АндрейКульбеда-ю3и 7 жыл бұрын
помогите разобраться, M3[i][j] += M1[i][k] * M2[k][j]; 10:00, с матрицей я разобрался, но все таки не понимаю данную строку. Кто может разобрать подробнее ?
@aIis_ka
@aIis_ka 4 жыл бұрын
Много времени прошло, возможно я бы смог объяснить
@antongubankov4395
@antongubankov4395 9 жыл бұрын
delete [d i' l i: t] :)
@igorscream
@igorscream 6 жыл бұрын
И еще тип указателя говорит, на сколько байтов надо делать шаг при инкремента и декремента. И я думаю, что это первоочередная задача указателя.
@АлесяОлеся-е7е
@АлесяОлеся-е7е 6 жыл бұрын
Думаешь или знаешь? И зачем ты об этом написал? Он ведь, и так об этом говорил.
@kanattorogeldiev4799
@kanattorogeldiev4799 10 жыл бұрын
можете объяснить for (int i(0); i < N;i++) delete[] p[i];//? delete[]p; //?
@anotherspy3385
@anotherspy3385 6 жыл бұрын
Kanat Torogeldiev это функция деструктор. Она очищает память от данных, которые занимали переменные класса с помощью функции delete. delete[] - удалить массив
@МаксимАтюцкий
@МаксимАтюцкий 9 жыл бұрын
лично я объявляю массивы размером переменных, указанных ранее int a; cin >> a; int arr[a]; и все прекрасно работает
@AntoxaShow
@AntoxaShow 8 жыл бұрын
+Максим Атюцкий это грубая ошибка с точки зрения программирования
@МаксимАтюцкий
@МаксимАтюцкий 8 жыл бұрын
+AntoxaShow из-за возможного выхода за пределы массива?
@АртёмСтрельцов-ь6г
@АртёмСтрельцов-ь6г 8 жыл бұрын
А если я указателем типа int укажу на тип char что будет?
@SurviveOnlyStrong
@SurviveOnlyStrong 8 жыл бұрын
пиздец
@romanberla
@romanberla 8 жыл бұрын
память будет читаться как int
@alengm
@alengm 11 жыл бұрын
А что за музыка в начале?
@alengm
@alengm 2 жыл бұрын
HDub - Clean it Up
@ВикторРоманюк-е5й
@ВикторРоманюк-е5й 7 жыл бұрын
45:58
Уроки по C++.5 урок.Циклы
39:19
getKnowledge
Рет қаралды 152 М.
Nastya and balloon challenge
00:23
Nastya
Рет қаралды 66 МЛН
iPhone or Chocolate??
00:16
Hungry FAM
Рет қаралды 39 МЛН
Cute
00:16
Oyuncak Avı
Рет қаралды 12 МЛН
Уроки по с++. 14 урок. Односвязный  список
1:02:02
Уроки по C++.6 урок. Массивы
43:57
getKnowledge
Рет қаралды 168 М.
JWT авторизация. Основы JWT - механизма.
6:45
Хочу вАйти
Рет қаралды 10 М.
Добро пожаловать в C++
16:08
Winderton
Рет қаралды 468 М.
CI/CD - Простым языком на понятном примере
15:29
Артём Шумейко
Рет қаралды 38 М.
Уроки по с++. 19 урок. ООП и классы
49:17
getKnowledge
Рет қаралды 99 М.
Уроки по C++.4 урок.If-Else, Switch
51:46
getKnowledge
Рет қаралды 175 М.
УЧИЛСЯ ПРОГРАММИРОВАТЬ ВСЕ ЛЕТО
10:31
Honey Montana
Рет қаралды 1 МЛН
Nastya and balloon challenge
00:23
Nastya
Рет қаралды 66 МЛН