---
title: "Funktions fråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/28031-funktions-fråga"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "erik_r"
published: "2001-03-10T20:21:00.000Z"
updated: "2001-03-12T18:26:00.000Z"
replies: 6
views: 449
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/28031-funktions-fråga"
---

# Funktions fråga

## #1 — erik_r, 2001-03-10T20:21Z

Tjena!
Jag håller på att lära mig C++ och har en liten fråga:

Om en funktion ser ut så här:

int & Function(int &x)
{
return x;
}

Vad innebär det första & tecknet????

Permalänk: https://www.webforum.nu/p/28031

## #2 — Swey, 2001-03-10T20:56Z

Funktionsfråga särskrivs inte.

int & Function(int &x)
innebär att funktionen returnerar en int-referens. En referens fungerar ungefär som en pekare fast med undantaget att den är säker. Den pekar alltså alltid till en variabel. Genom referensen kan du ändra orginalvärdet på variabeln.

int &var = Function(...);
var = 5; //Ändrar värdet på variabeln som Function returnerar till 5

Referenser kan automatiskt konverteras till vanliga variabler så därför fungerar även detta.
int var = Function(...);

Jag hoppas att du förstår ungefär. :)

Permalänk: https://www.webforum.nu/p/400998

## #3 — erik_r, 2001-03-11T10:25Z

Nu blev det genast klarare :)
Tack för hjälpen!

Permalänk: https://www.webforum.nu/p/400999

## #4 — erik_r, 2001-03-11T10:40Z

Oj Oj en sak till!

En funktion inuti en Counter klass ser ut så här:

const Counter& operator++ ();
{
   \++itsVal
   return \*this
}

Den här funktionen ska ju returnera en referens inte en pekare. För \*this är väll en pekare?

Varför är funktionen const när den ändrar på itsVal?

Vad är en this-pekare och hur vet den vad den ska peka på när funktionen inte tar emot några argument?

Permalänk: https://www.webforum.nu/p/401000

## #5 — Chainsaw, 2001-03-11T15:46Z

Det vore ohyggligt korkat att göra en inkrementor icke-modifierande, men just den här funktionen är inte const. Titta på skillnaden mellan dessa två rader, den andra gör att du inte kan modifiera någon av klassens medlemsvariabler.

const Counter& operator++ ();
const Counter& operator++ () const;

this-pekaren är helt enkelt en pekare till den aktuella klassen. 

Kanske dags att skaffa en bok?

Permalänk: https://www.webforum.nu/p/401001

## #6 — erik_r, 2001-03-12T17:07Z

Jag håller faktiskt på med att ta mig igenom en c++ bok(teach yourselt C++ in 21days) men jag tycker den förklarar lite dåligt så jag behövde lite förtydliganden.

Permalänk: https://www.webforum.nu/p/401002

## #7 — PeW, 2001-03-12T18:26Z

Ahh  sånt diskuterades [här](http://program.webforum.nu/wf/Forum27/HTML/000062.html). Prata boken är måhända tråkig men mer komplett än SAMS serie...  :e

\*fick bara lite vatten på kvarn\*

Permalänk: https://www.webforum.nu/p/401003

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/28031-funktions-fråga
