Форум программистов, компьютерный форум CyberForum.ru

Возврат и присвоение объекта из функции без копирования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужна подсказка http://www.cyberforum.ru/cpp-beginners/thread980621.html
Обьясните пожалуйста что не так. При компилирование выводит ""Vam bilshe nizh sto rokiv"" //--------------------------------------------------------------------------- #pragma hdrstop #include <iostream> using namespace std; //--------------------------------------------------------------------------- #pragma argsused int main()
C++ Недопустимое косвенное обращение Собственно, текст программы такой: #include <stdio.h> #include <locale.h> #include <math.h> double L; // длина окружности double R; // радиус double S; // площадь круга int main(void) { setlocale(LC_CTYPE, "rus"); http://www.cyberforum.ru/cpp-beginners/thread980616.html
C++ составить makefile
Привет. В общем, у меня такая ситуация. На серваке стоит CentOS, пишу я на g++. Прога использует несколько библиотек, которые еще и лежат в разных местах, одни в /usr/lib, другие в /usr/lib64. В данный момент я компилю всё это дело примерно следующим образом: g++ ololo.cpp -L/usr/lib -L/usr/lib64 -lib1l -lib2l ... Надоело каждый раз перечислять пути и имена библиотек, подскажите, как...
C++ Указатель на массив из n элементов
Всем доброй ночи!:)Кто-то наверное уже спит, а я вот никак не могу понять смысл указателей на массив из n элементов, ведь при увеличения значения указателя, допустим на единицу, он "шагает" через весь массив т.е. переходит на адрес <размер типа массива>*<количество элементов>, для того чтобы увидеть значение элемента массива, на который ссылается указатель, надо произвести двойное разыменование,...
C++ Программа копирует только первых пять символов строки http://www.cyberforum.ru/cpp-beginners/thread980596.html
Помогите пожалуйста,я новичок в програьмировании, нужно скопировать строку размером 25 символов char Symb="abcdefghijklmnoprstuvwxyz" в матрицу , с помощью циклов на с++ вот код функции char **get_Matrix(char **mas, int ROW, int COL, char *str) { int len=strlen(str); for (int i=0; i<ROW; i++) { for (int j=0; j<COL; j++) {
C++ Копирование строки в матрицу символов Помогите пожалуйста,я новичок в програмировании, нужно скопировать строку размером 25 символов char Symb="abcdefghijklmnoprstuvwxyz" в матрицу , с помощью циклов на с++ вот код функции char **get_Matrix(char **mas, int ROW, int COL, char *str) { int len=strlen(str); for (int i=0; i<ROW; i++) { for (int j=0; j<COL; j++) подробнее

Показать сообщение отдельно
Rhoads
0 / 0 / 0
Регистрация: 18.10.2013
Сообщений: 2

Возврат и присвоение объекта из функции без копирования - C++

18.10.2013, 03:42. Просмотров 605. Ответов 6
Метки (Все метки)

Возможно ли в С++ вернуть объект (то есть записать данные объекта) напрямую в область памяти, выделенную в функции-приемнике?

Наверно не очень понятно выразился, вот пример:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// какой то тип данных
struct some_struct_type
{
    // тут какие-нибудь свойства и методы
};
 
// функция, где определена переменная типа some_struct_type
void func_A()
{
    some_struct_type S1 = func_B();
}
 
// функция, которая возвращает значение типа some_struct_type
some_struct_type *func_B()
{
    some_struct_type *S2 = new some_struct_type();
    return S2;
}
Требуется, чтобы данные объекта S2 не копировались в S1 (т.к. в этом случае получаем лишнее выделение памяти), а создавались СРАЗУ в области памяти, выделенной под данные S1 (но выполнялось это в другой функции).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru