12-14-2012
The '&' is just a 'silent pass by pointer reference compiler directive', efficient if you want to do less copying of a large object, and potentially allowing modification of the original since the called method has access to the original, not a copy. I call it silent (and have mixed feelings about it as a direction) because, unlike the C practice of explicit pass by pointer reference, this one is invisible when calls are instantiated unless you refer to the function/method declaration. Saving the programmer keystrokes and encouraging pass by reference but also improving the chances of programmer error.
Modifying the original passed by reference is a good segue into const, with is more often used in call declarations to say the called method cannot directly modify the original. Of course, if the called method can call a class method that modifies, that gets a bit thin -- it was more for primitives -- look but do not change. Using const on a declaration says that the initialized value is the only value, it can never be changed, so it can be copied freely, cached without worrying about having a stale copy, a bit like final, but once that was just JAVA.
Java's final vs. C++'s const - Stack Overflow
Const can have either of two meanings with pointers, const pointer or pointer to const data:
C++ Reference - Const Pointers - Cprogramming.com
Quick interview question -- what are the three meanings of static?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
like connect "summer" and "winter" to "summerwinter"?
Can anybody help me? thanks a lot. (2 Replies)
Discussion started by: fontana
2 Replies
2. Shell Programming and Scripting
Hello Friends,
Is it possible to return an array from a user defined function in awk ?
example:
gawk '
BEGIN{}
{
catch_line = my_function(i)
print catch_line
print catch_line
print catch_line
}
function my_function(i)
{
print "echo"
line= "awk"
line= "gawk"... (2 Replies)
Discussion started by: user_prady
2 Replies
3. UNIX for Dummies Questions & Answers
Hello guys,
should be a very easy questn for you:
I need to delete strings in file1 based on the list of strings in file2.
like file2:
word1_word2_
word3_word5_
word3_word4_
word6_word7_
file1:
word1_word2_otherwords..,word3_word5_others... (7 Replies)
Discussion started by: roussine
7 Replies
4. Shell Programming and Scripting
The question is not as simple as the title... I have a file, it looks like this
<string name="string1">RZ-LED</string>
<string name="string2">2.0</string>
<string name="string2">Version 2.0</string>
<string name="string3">BP</string>
I would like to check for duplicate entries of... (11 Replies)
Discussion started by: raidzero
11 Replies
5. Shell Programming and Scripting
I have a variable strLst containing a list of strings. I want to create a function that takes the list and an error message. If the number of strings is 0 or greater than 1, I print the error message. (1 Reply)
Discussion started by: kristinu
1 Replies
6. UNIX for Dummies Questions & Answers
Dear all,
I have a data like below (n of rows=400,000) and I want to extract the rows with certain strings. I use code below. It works if there is not too many strings for example n of strings <5000. while I have 90,000 strings to extract. If I use the egrep code below, I will get error:
... (3 Replies)
Discussion started by: forevertl
3 Replies
7. Shell Programming and Scripting
Dear All.
I have a script, which process files one by one. In the script I have two functions.
one sftp files to different server
the other from existing file create file with different name.
My question is:
Will sftp function recognize files names , which are created in another... (1 Reply)
Discussion started by: digioleg54
1 Replies
8. UNIX for Beginners Questions & Answers
Hello Everyone ,
Iam a newbie to shell programming and iam reaching out if anyone can help in this :-
I have two files
1) Insert.txt
2) partition_list.txt
insert.txt looks like this :-
insert into emp1 partition (partition_name)
(a1,
b2,
c4,
s6,
d8)
select
a1,
b2,
c4, (2 Replies)
Discussion started by: nubie2linux
2 Replies
9. UNIX for Beginners Questions & Answers
I cannot seem to get what should be a simple awk one-liner to work correctly and cannot figure out why. I would like to use patterns from a specific field in one file as regex to search for matching strings in the entire line ($0) of another file.
I would like to output the lines of File2 which... (1 Reply)
Discussion started by: jvoot
1 Replies
10. Shell Programming and Scripting
Hi All,
Good Day, seeking for your assistance on how to not perform my 2nd, 3rd,4th etc.. function if my 1st function is in else condition.
#Body
function1()
{
if
then
echo "exist"
else
echo "not exist"
}
#if not exist in function1 my all other function will not proceed.... (4 Replies)
Discussion started by: meister29
4 Replies
LEARN ABOUT OPENSOLARIS
wscol
wstring(3C) Standard C Library Functions wstring(3C)
NAME
wstring, wscasecmp, wsncasecmp, wsdup, wscol - Process Code string operations
SYNOPSIS
#include <widec.h>
int wscasecmp(const wchar_t *s1, const wchar_t *s2);
int wsncasecmp(const wchar_t *s1, const wchar_t *s2, int n);
wchar_t *wsdup(const wchar_t *s);
int wscol(const wchar_t *s);
DESCRIPTION
These functions operate on Process Code strings terminated by wchar_t null characters. During appending or copying, these routines do not
check for an overflow condition of the receiving string. In the following, s, s1, and s2 point to Process Code strings terminated by a
wchar_t null.
wscasecmp(), wsncasecmp()
The wscasecmp() function compares its arguments, ignoring case, and returns an integer greater than, equal to, or less than 0, depending
upon whether s1 is lexicographically greater than, equal to, or less than s2. It makes the same comparison but compares at most n Process
Code characters. The four Extended Unix Code (EUC) codesets are ordered from lowest to highest as 0, 2, 3, 1 when characters from different
codesets are compared.
wsdup()
The wsdup() function returns a pointer to a new Process Code string, which is a duplicate of the string pointed to by s. The space for the
new string is obtained using malloc(3C). If the new string cannot be created, a null pointer is returned.
wscol()
The wscol() function returns the screen display width (in columns) of the Process Code string s.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------------------------------------+
|ATTRIBUTE TYPE ATTRIBUTE VALUE |
|MT-Level MT-Safe |
+-----------------------------------------------------------+
SEE ALSO
malloc(3C), string(3C), wcstring(3C), attributes(5)
SunOS 5.11 29 Dec 1996 wstring(3C)