Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2015, 08:16   #71
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

В чем существенная разница между параметрами функции где:

В качестве аргумента ссылка
В качестве аргумента указатель?

Ведь указатель адрес и ссылка-операция взятия адреса


, нет, я не издеваюсь, просто запутался
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 27.08.2015, 08:23   #72
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,601
По умолчанию

>>В чем существенная разница между параметрами функции где:
>>В качестве аргумента ссылка
>>В качестве аргумента указатель?

В первом случае адрес берет вызываемая функция, а во втором случае вызывающая функция.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 27.08.2015, 08:28   #73
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Думаю с возвратом ссылки или указателя будет такой же ответ)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 27.08.2015, 09:35   #74
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
С примером Смита разобрался
А теперь забудьте это, ибо там бред написан. Массив в С/С++ не передается в функцию как копия. Лучше б с ответом Рифифи разобрались.
Цитата:
Жаль нет функий преобразования строки символов в число.
Не знаю к чему это тут, но как это нет? В чистом С есть atoi, atol и т.п., в С++ еще например с помощью stringstream можно.

Цитата:
В чем существенная разница между параметрами функции где:

В качестве аргумента ссылка
В качестве аргумента указатель?
Ссылке нельзя присвоить NULL/nullptr и нельзя присвоить другое значение.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 27.08.2015 в 09:41.
Alex11223 вне форума Ответить с цитированием
Старый 29.08.2015, 21:44   #75
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ребят, правильно ли я понял то, что:

1) если в качестве аргумента функции есть указатель, то в функцию можно передавать 0, а в ссылке так делать нельзя

2) ссылка авторазыменовывается?

3) можете привести примеры, касательно первого вопроса, т.е. какую-нибудь функцию, где в аргументах можно объект не задавать, а поставить 0 (не пойму, 0, NULL, nil или просто не заполнять?

Не по теме...NULL от nil чем-то отличается?
from dark to light)

Последний раз редактировалось Алексей_2012; 29.08.2015 в 21:48.
Алексей_2012 вне форума Ответить с цитированием
Старый 29.08.2015, 22:04   #76
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

Цитата:
1) если в качестве аргумента функции есть указатель, то в функцию можно передавать 0, а в ссылке так делать нельзя
да, но есть функции, которые принимаю указатель, но не допускаю null.... такое зачастую в dll т. к. там ссылок нет, одни указатели, но обязательна некая переменная
Цитата:
2) ссылка авторазыменовывается?
да, это просто "синтаксический сахар", который упрощает работу с указателями и добавляет проверку на обязательную переменную в аргументе
Цитата:
3) можете привести примеры, касательно первого вопроса, т.е. какую-нибудь функцию, где в аргументах можно объект не задавать, а поставить 0 (не пойму, 0, NULL, nil или просто не заполнять?
многие функции WinApi.... тот же CreateFile и его 3й параметр, который может определять доп. опции прав доступа
Цитата:
Не по теме...NULL от nil чем-то отличается?
NULL - C/C++ и др. Си-подобные
nil - Pascal-е-подобные
null - иногда для СОМ используется
0 - синоним null/nil/NULL, который лучше не использовать, чтоб избежать путаницы между числовым параметром и ссылочным
GreenWizard вне форума Ответить с цитированием
Старый 29.08.2015, 22:34   #77
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В С++ начиная с С++11 есть nullptr вместо NULL.

А 0 вместо nil (Дельфи/Паскаль) поставить и не выйдет вроде. Это только в С/С++ так можно.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 30.08.2015, 21:42   #78
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Почему в коде из первого поста иногда token, а иногда *token? Ведь char , по сути и есть массив, а тогда зачем указатель на него?
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 30.08.2015, 21:47   #79
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
Почему в коде из первого поста иногда token, а иногда *token? Ведь char , по сути и есть массив, а тогда зачем указатель на него?
a[b] это всего лишь сахар для *(a+b).
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!

Последний раз редактировалось crazy horse; 30.08.2015 в 21:50.
crazy horse вне форума Ответить с цитированием
Старый 04.09.2015, 20:59   #80
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

Ребят, а если есть указатель на поток
Код:
 ifstream *file_read=new ifstream("d://vesh.txt");
То как считать оттуда данные? Пробовал так, не пишет числа
Код:

float chislo;

while (!file_read)
    { *file_read>>chislo;
      (chislo>=0) ?*file2<<chislo<<"\n":*file3<<chislo<<"\n";
    }
Задание: формировать файл из вещественных чисел, затем закрыть его, затем открыть и создать два файла из положительных и отрицательных чисел

Вот полный код
Код:
#include <iostream>
#include <fstream>


using std::cout;
using std::cin;
using std::ofstream;
using std::ifstream;


int main()
{

    int count=0;
    float chislo=0;

    cout<<"Vvedite kolichestvo strok v file:...";
    cin>>count;

    ofstream *file1= new ofstream("d://vesh.txt");

    for (int i=0;i<count;i++)
    {
        cout<<"input chislo No: "<<i+1<<"\n";
        cin>>chislo;
        *file1<<chislo<<"\n";
    }

    file1->close();
    delete file1;




    ifstream *file_read=new ifstream("d://vesh.txt");
    ofstream *file2=new ofstream ("pologitelnie.txt");
    ofstream *file3=new ofstream("otric.txt");


    while (!file_read)
    { *file_read>>chislo;
      (chislo>=0) ?*file2<<chislo<<"\n":*file3<<chislo<<"\n";
    }



    file_read->close();
    file2->close();
    file3->close();
    delete file2;
    delete file3;
    delete file_read;
    cout<<"Done!";

    return 0;
}
from dark to light)

Последний раз редактировалось Stilet; 04.09.2015 в 21:39.
Алексей_2012 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
указатели salmon172 Паскаль, Turbo Pascal, PascalABC.NET 0 31.05.2011 21:34
указатели Артэс Общие вопросы C/C++ 4 07.09.2010 11:08
Указатели Анютик_sexi Помощь студентам 3 16.06.2010 14:38
Указатели AquaticSoul Общие вопросы C/C++ 5 22.12.2009 15:13
[C] массивы, указатели, двойные указатели. Iggel Общие вопросы C/C++ 5 05.05.2009 12:39