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

Вопрос по встраиваемым функциям - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ помогите переделать задачу. http://www.cyberforum.ru/cpp-beginners/thread20711.html
дана задача:. Написать программу, которая для прямоугольной целочисленной матрицы опреде¬ляет номер самого левого столбца, содержащего только положительные элементы. Если такого столбца нет, вывести сообщение #include <iostream.h> #include <iomanip.h> #include <conio.h> int main(){ int nrow, ncol ; cout << "Введите количество строк и столбцов: "; cin >> nrow >> ncol; // ввод размерности...
C++ массивы и классы 1.Создать класс Goods (товар). В классе должны быть представлены поля: на¬именование товара, дата оформления, цена товара, количество единиц товара, номер накладной, по которой товар поступил на склад. Реализовать методы изменения цены товара, изменения количества товара (увеличения и умень¬шения), вычисления стоимости товара 2. В одномерном массиве, состоящем из n вещественных элементов,... http://www.cyberforum.ru/cpp-beginners/thread20709.html
C++ Хэш таблица
Как работает метод цепочек, для разрешения коллизий в хэш таблице?
C++ двумерный массив
вообщем программа задает матрицу 12х12 разбивает ее на квадраты 3х3 и в центральный элемент каждого квадрата вписывает сумму остальных элементов. вот собственно код: #include<stdio.h> #include<malloc.h> #include<stdlib.h> #include<time.h> #include<conio.h> // сгенерировать матрицу размером 12х12
C++ Что такое Класс, и с чем его едят? http://www.cyberforum.ru/cpp-beginners/thread20698.html
собственно это я бы и хотел знать. попытался воспринять самостоятельно - не получилось. прошу, подскажите, кто знает, в каких книгах можно почитать про них(кроме Лафоре и Литвиненко). или конкретнее, если кто сталкивался по учебной программе с классами Time и String (из учебников), то про них. заранее спс.
C++ программа игнорирует break скажите кто нибудь почему программа игнорирует break'и? #include <iostream.h> int menu(); int main() { int choice=menu(); //---------------------- float oplata;//для всех у кого не определена оплата подробнее

Показать сообщение отдельно
.::.DIMA.::.
142 / 142 / 4
Регистрация: 26.10.2008
Сообщений: 782
26.02.2012, 13:08  [ТС]     Вопрос по встраиваемым функциям
А какая разница, какой тип имеют аргументы. Параметры в функции чаще всего передаются через стек. При встроенной функции в стек ничего передаваться просто не будет.

Кроме того, иногда в стек параметры могут не передаваться вообще даже при невстроенных функциях.

Например,

C++
1
2
3
4
5
6
7
8
void __declspec(noinline) func(char * str) {
    ...
}
 
int main() {
    func("abc");
    return 0;
}
Если дизассемблировать программу, то можно увидеть:

Assembler
1
2
3
4
5
6
7
8
9
...
// main
call        foo
...
 
// func
...
mov         eax,offset string "abc"
...
А параметры в этом случае перадаются по указателю.

Добавлено через 3 минуты
Если убрать __declspec(noinline), то в некоторых случаях эта функция автоматически будет встроенной.

А работа с параметрами происходит аналогично:
Assembler
1
2
3
4
// main
...
mov         eax,offset string "abc"
...
 
Текущее время: 18:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru