реклама на сайте
подробности

 
 
6 страниц V  « < 4 5 6  
Closed TopicStart new topic
> Вопросы по C от ламера, В книжках ответа чёта не нахожу
SysRq
сообщение Apr 24 2009, 13:48
Сообщение #76


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Новички C++!!! Это очень понятный язык! Кому надо привожу пример вычисления числа Пи (чем больше круг, тем точнее вычисляется):
Код
#define _ F-->00 || F-OO--;
long F=00,OO=00;
void F_OO() {
            _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
       _-_-_-_-_-_-_-_-_
            _-_-_-_
}
int main(){F_OO();printf("%1.3f\n", 4.*-F/OO/OO);}


(Извините, не мог не запостить...)
Go to the top of the page
 
+Quote Post
Guest_Скопидор_*
сообщение Apr 24 2009, 14:16
Сообщение #77





Guests






Цитата(SysRq @ Apr 24 2009, 17:48) *
Новички C++!!! Это очень понятный язык!

«Если язык хорошо знаком программистам, они работают более производительно.
Данные, полученные при помощи модели оценки Сосото II, показывают, что про-
программисты, использующие язык, с которым они работали три года или более, при-
примерно на 30% более продуктивны, чем программисты, обладающие аналогичным
опытом, но для которых язык является новым» © (Boehm et al., 2000).

Т.е. те, кого зачастую презрительно называют новичками, ламерами и т.п. всего лишь на 30% менее эффективны, чем профи. biggrin.gif
///////////////////////////////////////////
«Если вы работаете на конкурентном рынке ПО, половина ваших знаний устареет за три
года. Без обучения вы превратитесь в ископаемое.»
….
«Если программист не изучил С за год или два, еще три года
не сыграют особой роли»

© Макконэл «Совершенный код»
///////////////////////////////////////////

Модератор. Вы нарушаете п.3.1 Правил форума. Либо придерживайтесь обозначенной Вами темы, либо весь топик будет перемещен в раздел Общение - Off topics.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Apr 24 2009, 16:09
Сообщение #78


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(Скопидор @ Apr 24 2009, 17:16) *
«Если язык хорошо знаком программистам, они работают более производительно.


Господа-товарищи, делающие всяческие подобные "научные" исследования просто поражают глубиной мысли. Слону понятно, что опытный работник работает более производительно, чем неопытный. Про 30% - вообще полная фигня. Код можно написать и даже запустить, но еще останется куча вопросов по его надежности, стабильности, отсутствию не очевидных ошибок периода выполнения и прочее. Какими процентами это можно подсчитать?

Я никак не могу в толк взять. Вы задаете вопросы про одно. Потом перескакиваете на всякие enum и рекурсивные вызовы main. Это вопросы из спортивного интереса или на работе делать нечего? Изучение лучше всего происходит при решении конкретных "живых" задач.

Вопрос про enum - это обычное приведение типов: int --> enum. Никто не запрещает это делать, но умные книги, которых вы уже ужас как много прочитали, все пишут про аккуратность приведения типов, чего и вам желаю использовать с оглядкой в будущей работе.

Приколистский тон ваших сообщений не будет способствовать получению вами полезных советов от знающих людей.

Хороших выходных.
Go to the top of the page
 
+Quote Post
Guest_Скопидор_*
сообщение Apr 24 2009, 19:02
Сообщение #79





Guests






Цитата(sergeeff @ Apr 24 2009, 20:09) *
Я никак не могу в толк взять. Вы задаете вопросы про одно. Потом перескакиваете на всякие enum и рекурсивные вызовы main. Это вопросы из спортивного интереса или на работе делать нечего?

Мне как раз есть делать что. Потому что мне нужно за неделю поднять свой уровень настолько, чтобы устроиться кодером C++. Поэтому я не тормоз, чтоб муссировать один и тот же вопрос неделями. У меня в голове крутиться одновременно тысячи вопросов, которые ищут ответа. И то, что я здесь задаю и что мне не понятно не составляет и сотой части того, что меня интересует.

Я понятно объяснил?
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Apr 24 2009, 21:51
Сообщение #80


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Понятно, хочется себя любимого втюхать кому-то как специалиста по С++. Успехов!
Go to the top of the page
 
+Quote Post
Guest_Скопидор_*
сообщение Apr 24 2009, 22:13
Сообщение #81





Guests






Цитата(sergeeff @ Apr 25 2009, 01:51) *
Понятно, хочется себя любимого втюхать кому-то как специалиста по С++. Успехов!

Уточняю: как НАЧИНАЮЩЕГО специалиста по C++ (блин на работу уже 2 месяца не могу устроится, а 4 моих детей кушать просят).
Но и реально знать C++ тоже хочу (ибо очень люблю процесс коддинга).
P.S. А что? По-Вашему нужно "тормозить" и муссировать один вопрос неделями? Ведь тема называется "Вопросы ...", а не "Вопрос..."
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 24 2009, 22:24
Сообщение #82


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Раз все выяснилось, предлагаю принять правила игры: конструктивно, вопрос-ответ, без синих букв, художеств, бессмысленных цитат. Правильная игра, полагаю, будет приветствована: в тривиальных вопросах может быть скрыто нетривиальное, -- и это интересно :)
Go to the top of the page
 
+Quote Post
Guest_Скопидор_*
сообщение Apr 24 2009, 23:32
Сообщение #83





Guests






Цитата(SysRq @ Apr 25 2009, 02:24) *
Раз все выяснилось, предлагаю принять правила игры: конструктивно, вопрос-ответ, без синих букв, художеств, бессмысленных цитат. Правильная игра, полагаю, будет приветствована: в тривиальных вопросах может быть скрыто нетривиальное, -- и это интересно smile.gif

Вот и договорились. Это уже конструктив пошёл.

////////////////////////////////////////////
Вопрос №200904250332
Почему мы пишем в проге на C++
Код
cout << "Hello, World!!!" << '\n'

и при выполнении программы курсор переиещается на следующую строку + переводится в начало строки

Но ведь служебный символ '\n' это символ 'Line feed', т.е. просто перевод на другую строку, без перемещения курсора в начало строки

Для перемещения строки в начало строки служит служебный символ '\r' ('Carriage return').

Т.е. по идее нужно было бы написать '\r\n'.

Тогда почему в строках C++ символ '\n' работает также как '\r\n'?
Go to the top of the page
 
+Quote Post
SysRq
сообщение Apr 25 2009, 00:07
Сообщение #84


Чайник, 1 литр
****

Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168



Цитата(Скопидор @ Apr 25 2009, 03:32) *
Тогда почему в строках C++ символ '\n' работает также как '\r\n'?
Исторически так уж сложилось, что в Windows корректный переход на след. строку - это \r\n (CR + LF). Поэтому \n неявно дополняется до \r\n в текстовом режиме. В std определена константа endl, пользуйтесь вместо явного '\n'.
При записи в файл бинарных данных, не забывайте указывать что файл бинарный (там где это возможно, напр. fopen("file", "wb")), иначе оно тоже дополнит..
Go to the top of the page
 
+Quote Post
Guest_Andy Nikiforovv_*
сообщение Apr 27 2009, 19:14
Сообщение #85





Guests






Кто удаляет из исходника камменты (перед компиляцией) и склеивает строки разделённые символом склейки (\)? Компилятор или препроцессор? И где почитать инфу по «расколбасу» исходника прежде чем он достаётся собственно компилятору?

Относительно main.
Правда ли, что допустимы только две формы main:
int main ( int narg, char **arg) и void main (void) ?

Почему не меняется размер экзешника при последовательном заремливании строк снизу вверх?

Код
#include <iostream>
using namespace std;

void main ()
{
    cout << "Hello, World" << endl;        // 528 442 Байт Причём ENDL не катит (т.е. регистрочувствительный идентификатор)
    cout << "Hello, Moskau" << endl;       // 528 442 Байт
    cout << "Hello, Moskau2" << '\n';        // 528 442 Байт
    cout << "Hello, Moskau3" << "\r\n";    // 528 442 Байт '\r\n' не работает; А "\r\n" работает также как '\n' и endl
    cout << "Hello, Moskau4" << endl;        // 528 442 Байт


Сообщение отредактировал Andy Nikiforovv - Apr 27 2009, 19:07
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Apr 27 2009, 19:18
Сообщение #86


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(Andy Nikiforovv @ Apr 27 2009, 23:14) *
Кто удаляет из исходника камменты (перед компиляцией) и склеивает строки разделённые символом склейки (\)? Компилятор или препроцессор? И где почитать инфу по «расколбасу» исходника прежде чем он достаётся собственно компилятору?


А на кой вам это понадобилось знать, если не секрет? Это что влияет на скорость вращения Земли или скорость написания/отладки программ?
Go to the top of the page
 
+Quote Post
Guest_Andy Nikiforovv_*
сообщение Apr 27 2009, 20:14
Сообщение #87





Guests






Написано, что параметры командной строки для Borland C++ 3.1 должны разделяться пробелами. А как быть если в параметре есть пробел?

Дайте определения (в контексте языков программирования) терминов "лексика", "синтаксис", "семантика" и "грамматика".

Я заметил, что некоторые ключевые слова регистронезависимы. А в книжках пишут, что в C++ все идентификаторы регистрозависимы. Объясните в чем дело.

Как сделать так, чтобы под константу (const) не выделялась память?

Почему сделано так, что литералу 40000 компилятор приписывает тип LONG, а не unsigned int?

Функция (операция?) ЗайзэАф (sizeof) считает размер переменной/ константы с учётом выравнивания на границу слова или без учёта оного?

Цитата(Andy Nikiforovv @ Apr 27 2009, 23:14) *
Код
#include <iostream>
using namespace std;

void main ()
{
    cout << "Hello, World" << endl;        // 528 442 Байт Причём ENDL не катит (т.е. регистрочувствительный идентификатор)
    cout << "Hello, Moskau" << endl;       // 528 442 Байт
    cout << "Hello, Moskau2" << '\n';        // 528 442 Байт
    cout << "Hello, Moskau3" << "\r\n";    // 528 442 Байт '\r\n' не работает; А "\r\n" работает также как '\n' и endl
    cout << "Hello, Moskau4" << endl;        // 528 442 Байт

Почему в этом исходнике "дофени" что писать: '\n' или "\r\n"? Результат один и тот же

Я написал (в консольном приложении) cout << '\a' а звука всё равно я не услышал. В чём фишка?

char i ;
имеет диапозон 0...255? Т.е. без знака? в отличии от int, которое по умолчанию со знаком?

Какие операции допустимы над строками (символьными массивами) в "чистом" C++ (без библиотечных функций)?

Какие преимущества использования манипулятора endl (кроме очистки буфера потока) по сравнению с использованием '\n'?

Можно ли определить была ли очищена динамическая память, на которую указывает указатель или нет? Ну, типа, после delete указатель должен указывать не NILL? Или по стандарту это не гарантируется?

Освобождение динамической памяти из-под массив происходит по команде delete []. А как менеджер кучи узнаёт сколько байт нужно освободить?

Сообщение отредактировал Andy Nikiforovv - Apr 27 2009, 19:50
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Apr 27 2009, 20:48
Сообщение #88


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Andy Nikiforovv @ Apr 27 2009, 23:14) *
Кто удаляет из исходника камменты (перед компиляцией) и склеивает строки разделённые символом склейки (\)? Компилятор или препроцессор? И где почитать инфу по «расколбасу» исходника прежде чем он достаётся собственно компилятору?

Взять препроцессор , запустить и посмотреть результат. Вопрос отпадет.


Цитата(Andy Nikiforovv @ Apr 28 2009, 00:14) *
Дайте определения (в контексте языков программирования) терминов "лексика", "синтаксис", "семантика" и "грамматика".

Участники форума не на экзамене, чтобы допускать подобные формулировки.

Цитата
Почему сделано так, что литералу 40000 компилятор приписывает тип LONG, а не unsigned int?

int и long для win32 одно и тоже.

Цитата
Можно ли определить была ли очищена динамическая память, на которую указывает указатель или нет? Ну, типа, после delete указатель должен указывать не NILL? Или по стандарту это не гарантируется?
Освобождение динамической памяти из-под массив происходит по команде delete []. А как менеджер кучи узнаёт сколько байт нужно освободить?

У Строуструпа это рассмотрено в соответствующем разделе.

Какие книги по языку С++ Вы используете?


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post

6 страниц V  « < 4 5 6
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 17:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01469 секунд с 7
ELECTRONIX ©2004-2016