Форум программистов, компьютерный форум, киберфорум
Наши страницы

В С++ может ли argv быть двухмерным массивом? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как вернуть массив и как неявно получить атрибут объекта http://www.cyberforum.ru/cpp-beginners/thread860019.html
хочу спросить как из функции вернуть массив int g(void){ int a; //как-то его заполнить return a; } массив не хочет возвращять
C++ Дан набор символов, среди которых есть двоеточие ‘:’. Определить, сколько символов ему предшествует Дан набор символов, среди которых есть двоеточие ‘:’. Определить, сколько символов ему предшествует Дан набор символов, среди которых есть двоеточие ‘:’. Определить, сколько символов ему предш... http://www.cyberforum.ru/cpp-beginners/thread860014.html
Некомпилиться в VC 2010 (работа с OpenGL) C++
Пишу курсач по вот этой видюшке http://www.youtube.com/watch?v=TC2F78eE3CQ и не могу понять, в чем у меня ошибка в файле 1.срр, т.к. не раз проверял и вроде все норм сделал. Подскажите, что не так?
Программа, заменяющая в исходной строке символов все единицы нулями и все нули единицами C++
Помогите с программой. Составить программу, заменяющую в исходной строке символов все единицы нулями и все нули единицами. Замена должна выполняться с заданного символа.
C++ Работа с классами http://www.cyberforum.ru/cpp-beginners/thread860005.html
Всем привет и с праздником. Имеется задачка которую помогли сделать на этом форуме. Задачка выполнена с односвязным списком. Вводится ограничения по возрасту и из данного введенного промежутка...
C++ Описать шаблонный класс для хранения массива указателей на объекты произвольного класса Здравствуйте. У меня такая вот проблема: Есть такая программа #include <iostream> #include <cmath> #include <locale> #include <conio.h> const float PI = 3.141592; /*class Error{ подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6503 / 3142 / 307
Регистрация: 04.12.2011
Сообщений: 8,673
Записей в блоге: 5
13.05.2013, 23:28
Цитата Сообщение от Croessmah Посмотреть сообщение
Указатель str на константный строковый литерал. От других указателей ничем не отличается - такой же указатель! Вся "супер-функциональность" это лишь разнообразные перегрузки.
Да всё это просто. Можно объяснить, что компилятор себя ведёт иначе когда строковый литерал видит, можно особенностью перегрузки... Но особенность типа и состоит в том, что он особенный и это тоже просто.
Цитата Сообщение от gray_fox Посмотреть сообщение
С моей точки зрения: строковый литерал - это массив элементов (символов), а имя массива неявно преобразуется в указатель на первый элемент.
С моей - нет. Вот массив символов:
char* chArr = new char[3];
C++
1
2
3
chArr [0]='a';
chArr [1]='b';
chArr [2]='c';
Этот указатель можно передать в функцию с длиной n=3 и это стиль работы с обычным массивом любого типа.
А такой массив - С-строка:
C++
1
2
3
chArr [0]='a';
chArr [1]='b';
chArr [2]='\0';
и это:
C++
1
const char *chArr="ab";//тут сам язык всё делает
и передавать его можно без размера и печатать cout << chArr;
и эта возможность сбивает с толку новичков. Особенно когда только начинают знакомиться с указателями, массивами и ссылками. Невдомёк им почему когда в функцию передаётся int* a без размера (дополнительного целого) и нет глобального его объявления, то ясно что по указателю передано одно целое, а когда передано char* a, то строка это или одиночный символ нужно знать самому. То есть может быть и строка, чего с другими типами быть не может. Тема именно об этом.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru