A pointer is a data type whose value refers directly to (or "points to") another value stored elsewhere in the computer memory using its address.
0
votes
0answers
120 views
Why does this execute a jump instruction? [migrated]
I have just seen a very interesting C code in the boot loader of a small embedded product.
The code consists of two parts: boot loader and the main code. The start of the main code address is stored ...
0
votes
2answers
80 views
Idiomatic C API with regards to pointers
I am trying to get a better understanding of how one would structure an API in C.
I create a struct Person
I have a init function that sets data on that struct
I have multiple "helper" functions ...
-1
votes
0answers
14 views
Difference between (int*) calloc and just calloc? [migrated]
What is the difference between:
int *array;
array = (int*) calloc(5, sizeof(int));
and
int *array;
array = calloc(5, sizeof(int));
I don't get it.
Both samples work.
At the university the ...
3
votes
1answer
255 views
raw, weak_ptr, unique_ptr, shared_ptr etc… how to choose them wisely
There is a lot of pointers in C++ but to be honest in 5 years or so in c++ programmation (specifically with the Qt Framework) I only use the old raw pointer :
SomeKindOfObject *someKindOfObject = ...
4
votes
1answer
126 views
The right way to remove an item from a linked list
In this Slashdot interview Linus Torvalds is quoted as saying:
I've seen too many people who delete a singly-linked list entry by keeping track of the "prev" entry, and then to delete the entry, ...
1
vote
2answers
353 views
Disadvantages of Pointers [closed]
I was wondering why pointers are not included in modern languages now-a-days. I already did research on this on internet, and found out few theories/reasons:
Memory leakage is the biggest concern ...
7
votes
2answers
236 views
Autoreleasing objects in Reference Counting Systems
I'm experimenting a bit in C and I'm trying to implement my own Reference Counting System. I've mainly worked with Objective-C in the past but AFAIK autoreleasing objects is something that is unique ...
0
votes
2answers
197 views
C Linked List Implementation Pointer vs. Pointer-to-Pointer Consistency
To get some practice in C, I'm writing some basic functions for operating on a linked list of ints. I started out with functions that accepted as a "list" a pointer to the head node. Now, I find ...
0
votes
3answers
515 views
C++ Chess board design and smart pointers [closed]
I wrote a Chess engine in Java and I am porting it over to C++. I am new to C++.
The idea:
I have a Board object which holds a 2-dimensionnal array of Piece objects. Queen, Rook, Bishop, etc are ...
1
vote
4answers
438 views
How to work around Java's lack of pointers to pointers when working with linked data structures? [closed]
I've learned from a textbook how to implement binary search trees recursively in Java, and am working on implementing them nonrecursively. I've found a simple and elegant way to implement an insert ...
3
votes
5answers
591 views
Storing a pointer to an argument passed by (non-const) reference
When designing an interface for passing objects which are meant to be stored for later use and which should not be 'null', I am always a bit uncertain if the argument should be passed by reference or ...
2
votes
6answers
537 views
What are memory addresses? [closed]
I have more or less 0 knowledge in low-level topics, so forgive my possible ignorance.
I know that in languages such as C, pointers hold 'memory addresses', i.e. strings (or binary data?) written in ...
0
votes
1answer
97 views
In C++11 can Auto be used to get around mis-casting of void * parameters in functions?
If I have a generic function that takes a void* as a parameter, can Auto in C++11 help stop any bad casting of that parameter?
For instance, we may have an event system that sends events and a ...
20
votes
3answers
4k views
Why Increment Pointers?
I just recently started learning C++, and as most people (according to what I have been reading) I'm struggling with pointers.
Not in the traditional sense, I understand what they are, and why they ...
0
votes
2answers
1k views
Assigning strings to pointer in C Language
I am a new learner of C language, my question is about pointers. As far i learned and searched pointers can only store addresses of other variables, but cannot store the actual values(like integers or ...
10
votes
4answers
1k views
Pointer indexing
I am currently reading a book titled "Numerical Recipes in C". In this book, the author details how certain algorithms inherently work better if we had indices starting with 1 (I don't entirely follow ...
1
vote
2answers
259 views
Can a version of Python's shelve module that knows when its entries have been modified be written in any programming language?
shelve is a Python module that makes it easy to persist a Python dictionary to disk (under the right conditions).
The documentation for shelve gives this example to demonstrate one of the pitfalls of ...
0
votes
3answers
1k views
usage of double pointers and n pointers?
I am familiar with basic C pointers. Just wanted to ask what is the actual use of double pointers or for that matter n pointer?
#include<stdio.h>
int main()
{
int n = 10 , *ptr , **ptr_ptr ;
...
0
votes
0answers
33 views
Binary Tree Address Conflictions
I wrote a post on a similar topic yesterday about my destructor for my Huffman tree class program. I have since isolated an issue with how my tree is being built that has me pretty baffled at the ...
0
votes
2answers
264 views
Usage of raw pointers
So from the top-voted answer to this question, it appears that using raw pointers for storage isn't frowned upon so much. However, then what is the point of a std::weak_ptr? I thought that storage was ...
0
votes
5answers
180 views
What conclusion to be drawn from no difference in generated assembly from 2 rather different programs?
I might not have had a counterexample when I got the reply "A pointer is just an address, what's the difficulty?" but I didn't really buy such a simple explanation and at assembly code it's not ...
5
votes
3answers
640 views
How to teach pointers to beginners in C? [closed]
I'll hold a little presentation about C-Pointers in a small group of people with beginners programming skills, with no CS background. Just people who would like to learn something about coding and ...
-1
votes
2answers
183 views
Difference between a pointer and a reference? [duplicate]
In Java and other high-level languages, a reference leads to an object.
In C++, as far as I know, a pointer can also lead to an object.
So what's the difference between a reference leading to an ...
0
votes
3answers
230 views
ANSI C pointers corrupted values
I am working on ANSI C and having some issues with the pointers.
That is that after a point in my program the pointer's values change without me interfering, is something like overwriting them.
I ...
2
votes
3answers
358 views
Why are pointers to literals not possible?
Reference to a literal is possible only if the reference is declared as constant.
But why is a pointer to a const object not possible in case of literals?
i.e.
int const& ref = 5;//
But why ...
23
votes
4answers
3k views
Why do C++ and Java both use the notion of “reference” but not in the same sense?
In C++ a reference argument to a function allows the function to make the reference refer to something else:
int replacement = 23;
void changeNumberReference(int& reference) {
reference = ...
1
vote
3answers
473 views
How do you read this line of code?
Forgive me for my poor English, me and my friend were doing school homework, suddenly he asked me to read this line of code ptr = &array[1][1][1] (ptr is a pointer to an integer).
He said
...
3
votes
2answers
297 views
Is it better to use an external variable or to pass around a pointer?
While writing in C, I have always wondered about when is the best time to use an external variable. I generally prefer to pass a pointer into a method. Is there a correct time to use an external ...
4
votes
3answers
230 views
adding array pointer in c
I am having problems understanding how this equation works in c:
char *sum(char *a, int b) {
return &a[b];
}
printf("%d", sum(5, 4));
I understand how arrays work, and I understand how to ...
1
vote
2answers
2k views
Storing a pass-by-reference parameter as a pointer - Bad practice?
I recently came across the following pattern in an API I've been forced to use:
class SomeObject
{
public:
// Constructor.
SomeObject(bool copy = false);
// Set a value.
void ...
3
votes
1answer
516 views
What are the real life use cases for tagged pointers? [closed]
What are the real life use cases for tagged pointers?
This is mostly coming from reading about small 64-bit systems and possible uses of 64-bit word pointers.
To my understanding tagged pointers are ...
1
vote
1answer
447 views
Pointer access and cache coherency
To my understanding, when you access a variable, that variable and the surrounding area of memory is put into the L1 cache. If I'm wrong here, please tell me.
Now my question is, say I have an array ...
3
votes
5answers
850 views
What is the definition of pointer? [duplicate]
Conceptually a "pointer" is just something that "points" to something else;Is this definition is sufficient to tell exactly what a pointer is in programing languages?
Does it need to have any other ...
2
votes
2answers
6k views
Do pointers really exist in Java? [duplicate]
I read quite a few resources on the internet and now I am quite confused about the existence of pointers in Java.
Some claim that there are pointers and some claim that there is no such concept. So ...
1
vote
3answers
248 views
Garbage collectors and pointers/ reference
I am a little confused on both pointers and reference. From my understanding pointers are addresses in memory. If I pass a variable using pointers and reference to a function, any manipulations of ...
0
votes
1answer
406 views
Is there a proper way to allow access to private list by reference?
I'm trying to provide a by-reference getter to a list of objects in a class. My setup looks something roughly like this:
class c_Container
{
public:
c_Item* Get(int uid);
private:
c_Item ...
6
votes
1answer
229 views
Hardware that accelerates pointer dereferencing?
Most modern languages make a heavy use of pointers / references: a typical OOP language uses VMT lookups, a typical functional language builds key data structures out of pointers, etc. Even typical C ...
6
votes
1answer
3k views
Is this a valid example of a dangling pointer?
The book "Data Structures in C" (Horowitz and Sahni) suggests that in the following code the pointer pf is behaving as a dangling reference:
float f,*pf;
pf=(float*) malloc(sizeof(float));
*pf=2.6;
...
4
votes
4answers
2k views
Was C designed to facilitate Object-Oriented programming?
I am trying to broaden my understanding of the history and development of object-oriented programming, and I am curious to find out
if C was designed to facilitate Object-Oriented programming? (like ...
6
votes
5answers
8k views
Is there any difference between pointers and references? [duplicate]
References and pointers do the same thing as I know. Is there any difference between them?
If there is no difference, why we call them reference not pointer?
0
votes
1answer
2k views
Converting 'char*' to 'char'. Am I passing this array correctly? [closed]
So my CS professor gave the whole class a simple assignment. "Write a recursive function that will swap the order of a section in an array of chars." I thought to myself, "Easy. I'll finish this up in ...
12
votes
4answers
9k views
C++ why & how are virtual functions slower?
Can anyone explain in detail, how exactly the virtual table works & what pointers are associated when virtual functions are called. If they are actually slower, can you show the time that the ...
6
votes
5answers
2k views
When and why would we use immutable pointers?
In Java, the String object is both immutable and also a pointer (aka reference type). I'm sure there are other types/objects which are both immutable and a pointer as well and that this extends ...
1
vote
2answers
1k views
C++ Typecasting VS performance
Let's say we're designing a video game. We have some sprites on the map and we want to call some method of the particular sprite at some particular position.
We are using one broadly-known C++ ...
3
votes
2answers
317 views
What happens when using address before it's allocated?
The very simple piece of C++ code below is incorrect, it's easy to see why and tools like Valgrind will tell you. In running several C++ codes containing this kind of error, I noticed that each time, ...
5
votes
4answers
632 views
What's a good way to explain the need for pointing to a pointer?
Understanding what a pointer (an address) is, is fairly easy and an eleven-year old can understand it. But how do we express why we have a need for a pointer to a pointer? what is a very pedagogical ...
3
votes
3answers
2k views
C++ Pointers: Number of levels of Indirection
In a C++ program that doesn't contain legacy C code, is there a guideline regarding the maximum number of levels of indirection that should be used in the source code? I know that in C (as opposed to ...
-2
votes
4answers
1k views
C simple arrays and pointers question
So here's the confusion, let's say I declare an array of characters
char name[3] = "Sam";
and then I declare another array but this time using pointers
char * name = "Sam";
What's the ...
2
votes
3answers
4k views
Functions returning pointers
C++ noob here. I have a very basic question about a construct I found in the C++ book I am reading.
// class declaration
class CStr {
char sData[256];
public:
char* get(void);
};
// ...
5
votes
5answers
2k views
What's so bad about pointers in C++?
To continue the discussion in Why are pointers not recommended when coding with C++
Suppose you have a class that encapsulates objects which need some initialisation to be valid - like a network ...