由买买提看人间百态

topics

全部话题 - 话题: 全局变量
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
p*****2
发帖数: 21240
1

你说的很对。全局变量比单点更灵活,因此有了全局变量不但解决了单点问题,还可以
同一个类型有几个全局实例,因此应用更广泛。根据孤独霸的说法,Spring里的
Singleton已经进化到了全局变量了。
s*******2
发帖数: 499
2
来自主题: Statistics版 - 请教一道SAS maro的题
谢谢指点。我不明白的地方是在第一个例子里,在macro里面又定义了a,
我想a就有一个全局宏变量和一个局部宏变量。按照第二个例子,
%%put a is &a; 输出的应该是全局变量的值。可是答案却不是这样。
请问第一个例子和第二个例子有什么不同?好像都是有一个全局宏变量和一个局部宏变
量。
O******i
发帖数: 269
3
你这个数组是函数外定义的全局变量?量还是函数里定义的局部变量?或者是静态变量?
MAXPATHLEN多大?如果比较小,应该是没有问题的。
你可以改为动态分配,看看这个bug还有没有
如果是局部变量,改为全局变量或者静态变量,看看结果如何
K******C
发帖数: 230
4
来自主题: Programming版 - MPI xl fortran problem on Blue Gene
我的
code 基本上是用frotran 77 和mpi library 写的.以前用GNU 的编译的,一直没有什
么问题:
mpif77 -r8 -o code.f
现在我把code 移到了blue gene上,用了xl fortran编译,就出现在问题了
mpixlf77 -O2 -qrealsize=8 code.f
我在code里面用了common block 定义全局变量
有一个全局变量不应该在 运行过程中变化的,后来我把这个变量 在所有的subroutine
里面print out。发现每当call 某个 subroutine以后,这个值就变化了,奇怪的是在
这个subroutine 里面 ,我没有定义这个变量所在的common block. 而且这个值从以来
的的‘4‘,一下变成了 ’2XXXX‘ ,而且每次call这个subroutine 就继续变大。
我估计是不在编译的时候设定环境变量有问题,但不知道怎么改。 不是高手有什么好
主意?
BTW:我的code 里面还定义了 double presicion的变量
D***n
发帖数: 6804
5
来自主题: Automobile版 - 丰田工程师真的该枪毙啊 (转载)
很老的程序,90年代以前的,全局变量用的很多。原因是以前软件规模小,全局变量省
掉很多参数传递,很方便。
但是丰田显然没有做相应的改进,现在的程序有multi-threading等“现代”内容。用
全局变量的结果很容易出现race condition。
给我的感觉就是丰田软件测试手段比较落后。
f****t
发帖数: 15913
6

十多年前是一万一千个全局变量,十多年后还是一万一千个全局变量,可靠性提高了吗?
连个carplay都不敢集成,因为一集成就变成一万三千个全局变量,你有胆买,丰田还
没有胆卖哪。
l*********a
发帖数: 445
7
来自主题: JobHunting版 - (C / C++) 关于指针的引用,求助
1. 谢谢!
2. 您的意思是,如果p2是全局变量,就不能获取 _arr[1] 的引用对吗???
3. 如果 _arr 也是全局变量,这样p2(全局变量)是否可以获取_arr[1]的引用呢?
g****t
发帖数: 31659
8
来自主题: Programming版 - [bssd]goto的现实根据
goto,全局变量,确实不好。
但是现在计算机行业利润大。什么人都出来弄个解决方案,各种语法糖
实在让人受不了。
再说全局变量这种东西。数据库对程序来说难道不是全局变量吗。。。
现在需要尾递归优化什么乱七八糟语法糖的地方,我有时候直接写个文本文件记录下这
个函数
被调用了几次。我看这样最安全。python更新到ver 100,我的程序还是可以跑的。
参考文献:
[1]
lambda,the ultimate GOTO
https://dspace.mit.edu/bitstream/handle/1721.1/5753/AIM-443.pdf?sequence=2
[2]
我看了一下午,clojure,java,python的核心人物或者作者的态度和处理方法都不一
样。
绑定在一个方案上,被洗脑的风险很大啊。反正用的也不多,需要时我还是goto或者
老老实实写下来调用的次数算了。
m*****n
发帖数: 3575
9
一个简单问题——把矩阵某一列刷成零
--------------------------------------
#先做个矩阵
A = matrix(1:10, ncol=2)
#现在将它的第二列刷成零
A[,2]=0
#检查一下
A
#还原
A = matrix(1:10, ncol=2)
======================================
我想把这种功能固化进一个函数里,从广义上说是对数据的一部分进行修改
--------------------------------------
zero_col <- function(data, coln){data[,coln]=0; return(data)}
#应用此函数
zero_col(A,2)
#再检查A是否被修改了
A
======================================
这样会出来两个结果,改的只是函数里面的data,而不是全局变量A
那全局变量如何改?有个"<<-"是改全局变量的
--------------------------------------
zero_col ... 阅读全帖
d******c
发帖数: 2407
10
来自主题: Programming版 - FP over head很高
FP主要宣传的不是高性能把,提到性能也是因为并行带来的。
FP原则能带来的是放心,我说的不是FP语言特性,什么lamda之类,也不一定要用FP语
言实现,而是那几个FP编程原则。
每个单元的影响是可控的,在范围内,单元是可以随意组合的。有全局变量和side
effect的时候,你必须考虑这些因素,但是编程的时候这些并不是很明显
一段程序是否引用了全局变量,一眼看过去并不明显
是否有side effect,也不明显
于是你只能自己记住,或者写在comments里。
全局变量的影响可能是跨越好几个函数,分散在各个地方的,更不好记住
人的注意力只能同时考虑几件事,这样思考起来太累,过段时间以后重新捡起来很困难
,别人读也很困难。
这是程序水平的提高,当然对程序员要求高。
还有强调强类型的,那是公司老板知道招的都是一大堆新手弱人容易出错,所以有越多
检查越多约束越好,减少愚蠢错误。
S**I
发帖数: 15689
11
来自主题: JobHunting版 - [合集] 问个C的基本问题
☆─────────────────────────────────────☆
honeydream (pretty) 于 (Fri May 6 00:30:21 2011, 美东) 提到:
下面这个程序为啥会segmentation fault呢?
int main(void)
{
char *p1, *p2;
*p1 = 'a';
*p2 = 'b';
printf("%c %c\n", *p1, *p2);
return 0;
}
如果我不用指针,把p1,p2的星号都去掉,就可以输出正确结果。
☆─────────────────────────────────────☆
chenpp (chenpp) 于 (Fri May 6 00:31:43 2011, 美东) 提到:
p1和p2浮空,指向未定义的地址空间。
对未定义的地址空间进行读写操作会导致未定义的行为,包括段错。

☆─────────────────────────────────────☆
mercuriusl (Mercurius) 于 (Fri May 6 ... 阅读全帖
X****r
发帖数: 3557
12
来自主题: Programming版 - Javascript的Scope问题
block 没有scope,只有global和function scope。所有全局变量和全局函数名在一个
global scope里,该scope处于scope chain的尾端。每开始定义一个函数就会把一个
scope放到scope chain顶端,该scope包含这个函数的所有参数,函数里所有用var定义
的变量,以及函数里定义的内部函数名。当函数定义结束时这个scope就会被取走。
with关键字也会把指定的表达式的值作为一个scope暂时加到scope chain顶端。引用一
个变量时解释器会沿当前scope chain从顶端开始搜索直到找到一个scope包含这个变量。
l**********9
发帖数: 148
13
来自主题: Statistics版 - 一道ADV 130 题目
其实这个问题是这样的,如果没有%one()这个语句,也就是说这个macro的代码没有被
执行,那么里面定义的变量就是local的,只能被这个macro内部的代码调用,但是加上
了%one()这个语句,代码被执行了,那么此时symput所初始化的变量就变成了全局的..
所以两种说法都有道理,在这道题里面应该是全局变量...不过如果代码没有执行的话
sas会给变量分配内存空间么?不太清楚..谁能告诉我sas底层用什么写的...
t****a
发帖数: 1212
14
来自主题: Statistics版 - R environment 问题
很有趣的问题。稍微搜索尝试了一下
assign这个函数用来动态生成变量,pos用于指名这个变量应该生成在哪一个
environment中,参见as.environment。默认值-1表示生成在当前函数里(局部变量)
。取值1表示生成全局变量。
比如:
x=function() {assign('b',1,pos=-1); print(b)}; x() # 在x函数中动态生成局部变
量b,函数退出则b消失
x=function() {assign('b',1,pos=1); print(b)}; x() # 在x函数中动态生成全局变
量b,函数退出b仍然存在
D***n
发帖数: 6804
15
不知道别的部份,不过仅仅就1万个全局变量不能说明任何问题。很多老程序一个函数
就几千行,里面的变量和全局变量没任何区别。
这样的程序其实源代码结构越接近编译后的结果越好,特别是做到硬件里面进行实际调
试的时候。
D***n
发帖数: 6804
16
不知道别的部份,不过仅仅就1万个全局变量不能说明任何问题。很多老程序一个函数
就几千行,里面的变量和全局变量没任何区别。
这样的程序其实源代码结构越接近编译后的结果越好,特别是做到硬件里面进行实际调
试的时候。
j*********6
发帖数: 407
17
来自主题: JobHunting版 - DP 的 memorized 放在哪里?
当成全局变量放在函数外面? private final Map memorized = new HashMap , V>()?
还是当做函数的变量传进去,然后随着递归调用一直传下去? 比如题目的 signature是
public Type solution(T t){
Map memorized = new HashMap();
return solution1(t, memorized);
}
private Type solution1(T t, Map memorized){
}
或者有什么更好的办法? 总觉得当成全局变量比较难看 有点像 "academic code",
但是放在参数中传下去会不会影响performance? 或者其他问题?
先谢过给位大牛~
x****u
发帖数: 81
18
大家好,最近忙于找工作,听人介绍发现了这个版面,看了各位大大的帖子受益匪浅,
于是也来分享下自己电面的题目。几次电面发挥得很不理想,我自己总结了一些教训,
也希望大家指点迷津,给我点建议,先行谢过!
// 题目
1. Yahoo
Given a integer array, how to find the median?
Running median. Numbers keep coming in one after another, how to get the
median?
2. Google
(1)
struct A {struct A *b;}
struct A * d = 0;
void S(struct *f) {f->b = d; d=f;}
What is function S doing? Can you name this function?
What if we need S to work with any type of pointer?
Does your solution work in multi-threaded programs? Why? How... 阅读全帖
y**i
发帖数: 1112
19
来自主题: JobHunting版 - 谷歌 On site 2015.5月面试
这个递归就可解吧,bottom-up,求所有子树的最长路径,用一个全局变量或者类变量
什么的记录最长路径长度。如果有子树根节点和当前节点值差1,就返回子树最长路径
加1(有多个就返回最长那个,如果连续递增和连续递减都要考虑,还要返回递增属性
),否则返回1。递归返回前更新全局变量,取更大的长度。
c****d
发帖数: 149
20
来自主题: Database版 - sql server 2k DTS 问题 请教
我在DTS里面定义以date 型全局变量
在一个DATA transformation里面的source
有类似如下的SQL语句
SELECT * from tablename
where tradedate=?
点击parameter按钮 在全局变量mapping 对话框里
把我定义的变量赋予这个 ?
在我的数据源市SQL server 的情况下一切运行
但是当我的数据原始Sybase时 点击parameter按钮
老是出错, 没有具体错误信息
是不是sybase 里使用parameter的语法有所不同?
r****o
发帖数: 1950
21
请问,在multithreading环境下,假如用了mutex来保护某个全局变量,是不是对该全局
变量仍然要加volatile关键字才能保证该变量的值是没有被其他线程改过的?
p******e
发帖数: 528
22
比方说我要调用一个程序f(),这个程序使用了别人写的一的库函数,结果这个库函数
定义了一个叫A的全局变量。当我要并行的运行多个子程序f()的时候,每个子程序创立
的全局变量A互相冲突。这时候有没有办法在子程序f开始的时候告诉这个子程序说所有
在这个子程序里边产生的变量都属于一个自己独立的命名空间,这样一来不同的并行过程
直接的A就不会互相冲突了。请问这个可能吗?
g****t
发帖数: 31659
23
来自主题: Programming版 - FP over head很高
你说的这些东西,C等语言写起来照样无难度。以前有家公司出过
One time assignment C。为此学fp系统还不如学OO
所以你说的和scala这种不是一回事。FP函数可以改自己的上下文,这个和goto类似有
时候可以非常高效,有不少奇技淫巧。lisp半页纸就可以实现一个eval,你想想能搞出
多少花样吧


: FP主要宣传的不是高性能把,提到性能也是因为并行带来的。

: FP原则能带来的是放心,我说的不是FP语言特性,什么lamda之类,也不
一定要
用FP语

: 言实现,而是那几个FP编程原则。

: 每个单元的影响是可控的,在范围内,单元是可以随意组合的。有全局变
量和
side

: effect的时候,你必须考虑这些因素,但是编程的时候这些并不是很明显

: 一段程序是否引用了全局变量,一眼看过去并不明显

: 是否有side effect,也不明显

: 于是你只能自己记住,或者写在comments里。

: 全局变量的影响可能是跨越好几个函数,分散在各个地方的,更不好记住

: 人的注意力只能同时... 阅读全帖
a*****e
发帖数: 1700
24
这个例子只能说明 mutable by default 需要遵守一定规则 (使用 non-escaping 局部
变量)才能安全,想用它来例证 mutable by default 好?逻辑上讲不通。
为什么我说 non-escaping,因为如果使用 closure 捕捉局部变量成为环境变量,就
escape 了它们原先的定义域,mutation 会导致意想不到的状况,和使用全局 mutable
变量类似。
p*u
发帖数: 2454
25
来自主题: Programming版 - 编程的宗派
总是有人喜欢争论这类问题,到底是“函数式编程”(FP)好,还是“面向对象编程”
(OOP)好。既然现在出了两个帮派,就有人积极地做它们的帮众,互相唾骂和残杀。
然后呢,又出了一个“好好先生帮”,这个帮的人喜欢说,管它什么范式呢,能解决问
题的工具就是好工具!
我个人其实不属于这三帮人中的任何一个。
面向对象编程(Object-Oriented Programming)
如果你看透了表面现象就会发现,其实“面向对象编程”本身没有引入很多新东西。所
谓“面向对象语言”,其实就是经典的“过程式语言”(比如Pascal),加上一点点抽
象能力。所谓“类”和“对象”,基本是过程式语言里面的记录(record,或者叫结构
,structure),它的本质就是一个从名字到数据的“映射表”(map)。你可以用名字
从这个表里面提取相应的数据。比如point.x,就是用名字'x'从记录point里面提取相
应的数据。这比起数组来是一件很方便的事情,因为你不需要记住存放数据的下标。即
使你插入了新的数据成员,仍然可以用原来的名字来访问已有的数据,而不用担心下标
错位的问题。
所谓“对象思想”(区别于“面向... 阅读全帖
t******0
发帖数: 629
26
我很多东西都不太会,答的比较乱,请明示小弟那些东西需要重点加强。

is
static
答:static in front of a function(函数作用域就是仅限于本文件的意思吧,内部函
数)
static for variable inside function (局部静态变量,下一次调用时,变量能
保持上一次调用退出的值)
static for var outside function (静态全局变量,不能在其他文件中引用的意
思吧)
them?
答:值传递,和指针传递(passbypointer)的知识,对于引用传递(pass by
reference)好像C语言里没有,C++才有吧,我说不太清,请高手明示
答:const就是变量不允许被改变,volatile的意思就是强调变量可以随周围环境突变
而变化体现实时性吧(似乎嵌入式的面试题,必考这个 volatile吧)
答:感觉是因为和精度有关,浮点数都有误差。
答:这个我不google的话绝对答不出来,现在也挺糊涂该怎么回答,请高手明示
答:stack就是强调“先入后出”就可以了吧,heap我只知道是树,p... 阅读全帖
c****p
发帖数: 6474
27

is
static
1. 文件内可见?
2. 在全局变量区分配空间?
3. 文件内可见?
them?
理论上函数传参都是对实参的数据拷贝(而不是实参本身)进行操作。因而对函数参数
的任何修改在函数返回后都不会影响实参的值。传值不说;传址实际是传递某变量所在
的内存地址,通过修改该地址指向的内存空间就可以实质上修改该变量的值。一般情况
下,需要在函数中修改变量值的行为都会使用传址。
const,不可修改,一般放在只读数据区(.rodata),尝试对其修改可能会引发段错(好
像编译器实现决定的);volatile,访问被其限定的变量时必须从内存中获取,实质上
使该变量成为non-cachable,常见于被I/O访问的内存空间。
大多数十进制小数转化成二进制存储时会有截断误差,表面上相等的两个浮点数实际并
不相等,一般用误差小于某阈值来判定相等。
not at all
stack:FILO,可重入式函数必须的结构;heap,memory pool,由OS管理,用户通过
malloc/free和new/delete实现动态内存的申请和释放。
pree
这个不懂,猜下:task不可打断当前in... 阅读全帖
t******0
发帖数: 629
28
我很多东西都不太会,答的比较乱,请明示小弟那些东西需要重点加强。

is
static
答:static in front of a function(函数作用域就是仅限于本文件的意思吧,内部函
数)
static for variable inside function (局部静态变量,下一次调用时,变量能
保持上一次调用退出的值)
static for var outside function (静态全局变量,不能在其他文件中引用的意
思吧)
them?
答:值传递,和指针传递(passbypointer)的知识,对于引用传递(pass by
reference)好像C语言里没有,C++才有吧,我说不太清,请高手明示
答:const就是变量不允许被改变,volatile的意思就是强调变量可以随周围环境突变
而变化体现实时性吧(似乎嵌入式的面试题,必考这个 volatile吧)
答:感觉是因为和精度有关,浮点数都有误差。
答:这个我不google的话绝对答不出来,现在也挺糊涂该怎么回答,请高手明示
答:stack就是强调“先入后出”就可以了吧,heap我只知道是树,p... 阅读全帖
c****p
发帖数: 6474
29

is
static
1. 文件内可见?
2. 在全局变量区分配空间?
3. 文件内可见?
them?
理论上函数传参都是对实参的数据拷贝(而不是实参本身)进行操作。因而对函数参数
的任何修改在函数返回后都不会影响实参的值。传值不说;传址实际是传递某变量所在
的内存地址,通过修改该地址指向的内存空间就可以实质上修改该变量的值。一般情况
下,需要在函数中修改变量值的行为都会使用传址。
const,不可修改,一般放在只读数据区(.rodata),尝试对其修改可能会引发段错(好
像编译器实现决定的);volatile,访问被其限定的变量时必须从内存中获取,实质上
使该变量成为non-cachable,常见于被I/O访问的内存空间。
大多数十进制小数转化成二进制存储时会有截断误差,表面上相等的两个浮点数实际并
不相等,一般用误差小于某阈值来判定相等。
not at all
stack:FILO,可重入式函数必须的结构;heap,memory pool,由OS管理,用户通过
malloc/free和new/delete实现动态内存的申请和释放。
pree
这个不懂,猜下:task不可打断当前in... 阅读全帖
n**s
发帖数: 2230
30
来自主题: Automobile版 - 丰田工程师真的该枪毙啊 (转载)
一点都没有信口开河。不管是什么软件,开发都应该符合软件工程的基本原则。
学过软件工程的本科生都知道,应该完全不用或者尽可能少用全局变量。可丰田的用了
10000多个全局变量。这使得质量难以控制。
还有其他方面提到的,比如模块功能太复杂而内聚性低,应该再按层次进一步划分模块
功能来简化,这都是软件工程最基本原则。
以上说的是设计方面的不专业。
至于提到的其他方面,比如内存越界,堆栈溢出,根本就是错误了。如果有代码交叉评
估,这在很多软件公司是标准做法,根本就通不过的。
f****t
发帖数: 15913
31
堆栈都94%满了居然没有保护,这就好比一个漂亮女的穿个丁字裤在黑人区jogging,出
事是早晚的事情。
全局变量是可以用的,但是如果有一万多个全局变量那程序就成了一张破鱼网,没有可
测性和可维护性,这也是自动加速迟迟没有解决的原因之一。
“最有说服力的证据是找到bug在哪里,在什么条件下这个bug会导致自动加速看来bug
具体在哪里根本没找到啊”,程序都烂成这样了,连丰田自己都找不到真正的解决方式
了,你还要别人找bug?
i********e
发帖数: 1782
32
顶一下,丰田用户们要明白,你的车是靠一万一千个全局变量来运行的,码工们站出来
回答一下,有一万一千个的全局变量的程序是不是人间奇迹。
f****t
发帖数: 15913
33
堆栈都94%满了居然没有保护,这就好比一个漂亮女的穿个丁字裤在黑人区jogging,出
事是早晚的事情。
全局变量是可以用的,但是如果有一万多个全局变量那程序就成了一张破鱼网,没有可
测性和可维护性,这也是自动加速迟迟没有解决的原因之一。
“最有说服力的证据是找到bug在哪里,在什么条件下这个bug会导致自动加速看来bug
具体在哪里根本没找到啊”,程序都烂成这样了,连丰田自己都找不到真正的解决方式
了,你还要别人找bug?
i********e
发帖数: 1782
34
顶一下,丰田用户们要明白,你的车是靠一万一千个全局变量来运行的,码工们站出来
回答一下,有一万一千个的全局变量的程序是不是人间奇迹。
d******a
发帖数: 238
35
来自主题: JobHunting版 - bloomberg 第一轮电话面试 电经
static的作用是确保internal linkage. internal linkage 和global linkage 不同,
如果你只定义全局变量或函数,那么其它文件中也能访问它。很多情况下一个project
有多个人做,他们可能在各自的文件中定义相同的全局变量名,这样编译的时候就会有
问题啊。
garbage collection应该用的是mark&sweep的算法,这个《深入理解计算机系统》这书
上有讲,你到网上应该也能搜到些相关资料。
C***y
发帖数: 2546
36
来自主题: JobHunting版 - Finding deepest node of BST ?
弄个全局变量记录当前的depth,再弄两个全局变量,一个记录已知最深的depth,另外
一个记录对应的node
这样一遍就可以了吧
p*****2
发帖数: 21240
37
先打个草稿
首先,GoF设计模式要解决的问题不少都是因为OO不承认全局变量和函数造成的。
其次,设计模式的三个准则:中意与组合而不是继承, 依赖于接口而不是实现,高内
聚低耦合
第三,设计模式分为creational, structural, behaviroal。
Strategy: OO不承认函数造成的
Decrator: 就是平时常常提到的wrapper, 也属于中意与组合而不是继承
Factory: 感觉是纯OO的东西。Factory method有两种,一种是effective Java里谈的
,一种是GoF里谈的,我觉得都属于design pattern的范畴,但是要注意区分。因为平
时所说的DP一般指GoF,但是我感觉前者可能更常用,所以这个比较容易confused。面
试比较容易考到,感觉应该跟面试官说清楚。
Observer: 太常用了,平时见到的什么event,notification都是这个pattern。
Chain of Responsibility: 一看就想到了exception。除此之外,貌似driver的stack
也是这个意思。
Singleton:... 阅读全帖
q****x
发帖数: 7404
38
二弟,全局变量和单点不是一回事吧。全局变量是一个类型和名字组合到处都可访问。
单点是这个类型只能有一个。

design
g*****g
发帖数: 34805
39
你说的这个我不明白。java如果你愿意,定义一个public static variable是完全可以
的,这就是你的全局变量,相应的有static init block来做初始化,有static
function来处理数据。用singleton纯粹是为了encapsulation,OO认为全局变量会
使得refactoring困难,使得数据不能保证consistency,所以推荐encapsulation,不
是因为实现不了的缺陷。我觉得你把因果搞反了。
g*****g
发帖数: 34805
40
你这个完全是概念错误,singleton顾名思义,是为了保证系统只有一个instance,跟
全局变量完全没有关系。比如大部分的spring bean完全没有instance variable,都是
singleton,难道也能说是为了全局变量?同时,singleton也不能保证thread safe,
是否thread safe纯粹看具体实现。Spring bean至于传统singleton的一大优势是可以
继承,这个在写架构里也很有用。
回到为什么要保证只有一个instance,通常不过因为初始化比较慢,为了节省资源和快
速处理而已。在server端的程序这个很常见,而且eager init才是常见的形式。你读读
Spring IoC就明白了。

Singleton
f****4
发帖数: 1359
41
好虫说得对,你把先后因果弄颠倒了。
你现在理解的DP,是基于OO实现的DP。但是DP的本意是通用的设计方案。这也是为啥定
义DP的地方用得是一段话,而不是一个类图。Gof是严格按照这个形式定义DP的,后来
的资料大多都是以实现来定义DP。
说回Singleton和全局变量的问题
在C里面没有OO,能实现Singleton么?
对全局变量A提供一个访问接口(可以是函数,可以是个domain socket,可以是个
pipeline。。。)
Coding stand加一条“访问A必须通过接口,违反者将被开除”
这个方案算Singleton么?
手头上没有Gof的书,不过对照你贴的
“Singleton is used when a single object needs to be instantiated and all
requested object access goes through this particular instance. This object
can maintain state if desired.”
你看看有地方违反了没。
类工厂和抽象类工厂,C压根就没有... 阅读全帖
a*****d
发帖数: 123
42
来自主题: BuildingWeb版 - PHP question
在php里面怎么设置一个startup script啊?
比如我想从数据库里面读一些全局变量,在用户每一个
php file的request这些全局变量都available,但是不
想每一次用户的request都去access数据库。应该怎么
实现呢?
谢谢!
j***n
发帖数: 301
43
来自主题: BuildingWeb版 - 优化js
一个比较大的算法程序,有20个左右的全局变量,听说全局变量的使用很影响效率。如
果建立一个类似pojo的类,把这些东西都塞进去,然后在函数之间传来传去。理论上能有
多大的改进?
o*******i
发帖数: 396
44
来自主题: Programming版 - 关于多线程编程的一个问题
啥叫 另一个线程的全局变量?
全局变量是进程空间的亚
S****z
发帖数: 666
45
来自主题: Programming版 - c++ singleton questions
用全局变量就用全局变量啊,关单件什么事?
S****z
发帖数: 666
46
来自主题: Programming版 - c++ singleton questions
用全局变量就用全局变量啊,关单件什么事?
z****e
发帖数: 2024
47
来自主题: Programming版 - static vector 怎么 initialize ?
"unnamed namespace中的全局变量"???
unnamed namespace 本来就是只有internal linkage,何谈全局?
"整数类型的static const没问题"???
用不着static,和整数,const默认就是internal linkage的。
“inline函数当中的static变量,就只能定义在头文件中了”???
定义在cpp中完全没有问题。
p******e
发帖数: 528
48
比方说我有个一个并行程序,同时还有一个全局变量。如果多个线程都需要访问
同一个全局变量,会不会说由于多个线程都申请访问同一个内存地址而造成互相
竞争的情况呢?谢谢!
g*******t
发帖数: 7704
49
全局变量会破坏代码的移植性, 一个function要求就是健壮,很容易copy paste到其
他项目里,
一个全局变量, 你的代码都无法复用,
w***g
发帖数: 5958
50
来自主题: Programming版 - 关于在c++ member function里用signal( )
signal里传进去的不能是成员函数。只能把对象指针放到全局变量里,
然后在sighandler里调用全局变量的方法。
std::bind返回的是个对象,不是函数指针,没法传入signal里。
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)