由买买提看人间百态

topics

全部话题 - 话题: 指针
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
M*****y
发帖数: 641
1
来自主题: Automobile版 - 冷天温度计和油量的指针不动了
其他几个指针好好的,就是温度计和油量的没反应。去年冬天出现这个问题,有时车发
动后没问题,有时开了一段时间后指针动了,有时一直不动。
要修什么地方?honda crv.
谢谢
h****c
发帖数: 10494
2
来自主题: JobHunting版 - java没有指针真麻烦
Java方便的地方不在于指针,不使用API提供的方法编码就相当于在C里面不使用指针来
建立链表一样,即使写出来一个非常高效的链表函数,能有多大的意义呢
e***s
发帖数: 799
3
一个简单的construct BT with preorder and inorder.
这是1337code大哥的C++ code(递归部分).
root->left = buildInorderPreorder(in, pre+1, i, offset);
root->right = buildInorderPreorder(in+i+1, pre+i+1, n-i-1, offset+i+1);
但是在C#中不在unsafe block里面不能用指针(我也不想用指针)。
有什么方法能写得这么简洁呢?
int[] linorder = new int[divider];
int[] lpreorder = new int[divider];
int[] rinorder = new int[n - divider - 1];
int[] rpreorder = new int[n - divider - 1];
for(int i = 0; i < divider... 阅读全帖
r****t
发帖数: 10904
4
我读到只有 left, right 和值,就像下面这样:
template
struct node {
node *left, *right;
value_type value;
};
为啥 CLRS 里面经常有 y <- p[x] 这样的,我的理解是“把 x 的父指针赋值给 y
”。(在 Tree-Successor 和 Tree-Insert 算法里面都用到了, 12.2, 12.3)
这个是我理解错了,还是 node struct 里面确实应该有父指针?
m***n
发帖数: 2154
5
看情况了。如果是primitive 类型,你存个指针更浪费。
对于不支持指针的语言,本来里面的就都是引用。
A******u
发帖数: 30
6
来自主题: JobHunting版 - 请教一个入门级的C的指针问题
考虑到lz能问出这种问题,所以举例用int a=1,b=2也是情有可原。
我觉得实际情况应该是a,b都是两个指针指向两个在heap上的对象,然后传&a,&b进去
不过copy这个函数名暗示了应该是把s的内容复制给t的内容,不应该直接指针赋值啊
s******o
发帖数: 78
7
来自主题: JobHunting版 - 请教一个入门级的C的指针问题
bingo, 指针的指针

发帖数: 1
8
来自主题: JobHunting版 - 感觉指针类型的题好像不怎么考了
最近两年来,参加的各大公司的面试,从来没有被问到过指针的题目,各位感觉呢?是
不是可以不用做指针类型的题目了?
W***9
发帖数: 4834
9
记者
据媒体报道,日前美日外长、防长“2+2”会议在美国纽约举行。双方发表了修订
的新版《防卫合作指针》,其中声明将取消美日安保合作的“地理限制”。美日外长在
记者会上称,美日安保条约适用于包括钓鱼岛在内的所有日本施政范围。美日两国防长
称,双方同意继续帮助东南亚国家提高在南海问题上的应对能力,敦促中方遵守国际准
则并发挥协调作用。请问中方对此有何评论?
耿雁生
我们高度关注美日发表的新版防卫合作指针以及美日高官近期发表的涉华言论。在
此,我想强调以下三点 :
第一,军事同盟是过时的产物,与和平发展合作共赢的时代潮流相悖。美日强化军
事同盟,将安保合作范围扩展到全球,会对世界和平与地区稳定产生什么影响,值得各
方高度关注 。
第二,美日同盟是冷战特定历史背景下的双边安排,应严格限制在双边范畴之内,
不应损害第三方利益。任何妄图通过军事同盟扩充军事实力、遏制他国发展、谋求一己
私利的做法,终将是徒劳的。
第三,中方一贯主张和平解决争议,同时坚定维护国家领土主权和海洋权益。我们
反对有关域外国家插手中国与周边国家的领土主权和海洋权益争议。任何人都不应低估
我们维护正当权益的决心和能力。
X****r
发帖数: 3557
10
没有本质上的区别,但在大部分情况下我个人倾向于使用指针,有两个原因:
1.这个参数将会被改变这个事实在调用的地点看起来更清楚。特别是多人合作开发的项
目里代码好多都是贴来贴去的,不是每人都会看一下所有用到的函数的文档的。
2.有时候调用者不关心这个参数的返回值,这样可以传一个空指针。
当然也有时候用引用更恰当或更符合周围代码的风格的。
z*y
发帖数: 193
11
来自主题: Programming版 - 求助:关于指针和数据存储
你既然已经分配了一个大的内存(picAll),就没有必要再分配一幅图像的内存了。
pic12++是不会移动一个frame的,而是一个WORD(如果pic12定义为WORD指针)。所以
你下面的code中 "if((pic12=(word *)GlobalAlloc(GPTR,2*iXRes*iYRes))==NULL)
return 0;"
是多余的。每写完一幅图像后,用pic12 += iXRes*iYRes 将指针移到下一幅图像的写
入起始地址即可。
分配357M的内存不会有问题的。
T*****9
发帖数: 2484
12
来自主题: Programming版 - 问一个关于C++指针的问题
List是一个指向node指针(假设nodep)的指针
H***a
发帖数: 735
13
来自主题: Programming版 - 问一个关于C++指针的问题
Node** List的定义是用来存放指向Node类型的指针的指针。
这段代码有两个问题:
1.第二行,temp1和*List share同一个地址,这样做是很危险的,容易导致memory leak
;而第三行完全不明白在干什么,就像我跟你说明天是端午节,你明白了以后马上跟我
说“你知道么?明天是端午节。” ...#^$^#%$@#$%$#
2.Node是你定义的一个类吧,Node** List只给了List地址,并没有开辟空间,也就是说List本身没有instantiated,内容是不确定的;第二行temp1也就跟着不确定。
v****c
发帖数: 32
14
对指针很熟的高手能否给菜鸟在rev() 的调用那儿分步骤讲解一下这个单链翻转是怎么
实现的?那个指针c究竟指在哪儿?非常感谢。
int main()
{
rev("long");
return 0;
}
void rev(char *c)
{
if(*c != NULL)
{ rev(c+1);
}
cout << *c< }
l*****d
发帖数: 359
15
来自主题: Programming版 - 指向函数的指针
用第一个的话, 定义指针用 type pointer即可, 用第二个,定义指针用 type *
pointer才行
m*t
发帖数: 7490
16
例如已经分配了20bytes的一个指针
char *p=(char *)malloc(sizeof(char)*20);
这时用sizeof(p)只能返回 这个指针变量自身的空间大小,32位系统是4,而不是20
不知道有没有什么函数能够返回20这个值?
z****e
发帖数: 2024
17
来自主题: Programming版 - 容器里边放指针怎么办?
请大侠讲讲,
如果容器里边放指针的话,需要注意什么?
如果不是auto_ptr,就一般指针,有什么需要注意的么?
比如copy什么的,是不是会出现很多share onwership的情况?怎么解决呢?
s*******e
发帖数: 664
18
来自主题: Programming版 - [合集] 常数指针的问题
☆─────────────────────────────────────☆
nobond (potato) 于 (Tue Jun 30 06:47:26 2009, 美东) 提到:
把常指针放到一个循环里头好吗?这样会不会反复生成销毁object,但如果不这么放,
放到循环外头好像也不行,因为常指针声明的时候就要初始化,又不能改。
============================
for (... ) {
....
const STVector3& posn = GetVertex(indices[v]);
...
}
GetVertex 的定义是(假设这个不能改。)
const STVector3& CatClarkSurface::GetVertex(unsigned int i) const {
。。。。。
}
STVector3 的定义是
struct STVector3
{
。。。
}
☆─────────────────────────────────────☆
zhubaba (zhubaba) 于 (Tue Jun 30 08:40:38
h*****0
发帖数: 4889
19
来自主题: Programming版 - shared_ptr处理stack上面的指针
shared_ptr针对的是指针指向的对象,不是指针本身。
C***y
发帖数: 2546
20
来自主题: Programming版 - Atomic operation 与 多重指针
如果一个atomic operation的参数是多重指针得到的,会有影响吗?
For example, on Windows
如果我调用 InterlockedAdd( p1->p2->p3->data, 5 ), 这些指针的值随时会变化,
会对最后结果产生影响吗?
谢谢!
l***y
发帖数: 4671
21
能展开讲讲数组的数组么?一直理解为一维数组名本身就是指针,所以数组的数组本身
就是个一维的指针的数组。
刚测过,memset 和多重循环比起来的确是一个数量级,不开 -O3 时差别大约三倍,打
开 -O3 后 loop 比 memset 更快。但是在我的实际 code 里,memset 比 loop 大概要
快两个数量级 -- 天知道怎么回事。。。
double A[1000][1000] = {{0}};
clock_t t_start = -1;
t_start = clock();
for (int ind = 0; ind < 1000; ind++)
for (int i = 0; i < 1000; i++)
for (int j = 0; j < 1000; j++)
A[i][j] = 0;
t_start = clock() - t_start;
printf("Loop takes %f sec; ", t_start/(double)(CLOCKS_PER_SEC));
t_start = cloc... 阅读全帖
g***l
发帖数: 2753
22
指向子类对象的基类指针能访问子类中重载的虚函数,而不能访问其私有函数。
比如
class CBase
{
public:
CBase();
virtual void Print(){cout<<"base"< };
class CDerived: public CBase
{
public:
CDerived();
virtual void Print(){cout<<"Derived"< void Personal(){cout<<"Derived private owned"< }
1. int main()
2. {
3. CDerived oderived;
4. CBase* pbase=&oderived;
5. pbase->Print();
6. pbase->Personal();
7. }
编译的时间,error: ‘class CBase’ has no member named ‘Personal’in line 6.
我的问题是,
1. 如果是因为pbas... 阅读全帖
b***i
发帖数: 3043
23
来自主题: Programming版 - 问一个函数指针的问题,c++
先不讲template, 你可以定义你的函数指针,和map<函数名字,函数指针>
typedef double (*pFun)(double*);
map > funmap;
在你的统一调度的函数中
pFun p = funmap["name"];
double rc=(*p)(x);
Zs
发帖数: 225
24
来自主题: Programming版 - c++指针的问题
你要干什么?
COPY指针只是多了指针,OBJECT没有多,还是原来的啊
Zs
发帖数: 225
25
来自主题: Programming版 - c++指针的问题
这个不是她要的吧,
她是创见了实利,但是不相有对次实利的指针.
但是你创建了实利就有地址,有地址就有指针
i***h
发帖数: 12655
26
来自主题: Programming版 - c++指针的问题
我以为这样就没有乱拷贝指针导致内存泄漏或者删除的问题了
我现在做的legacy code, 很多地方如果删除指针,内存出错
如果不删除,内存泄漏。
X****r
发帖数: 3557
27
来自主题: Programming版 - c++指针的问题
这个根本不是乱复制指针的问题:复不复制指针是程序逻辑的一部分,
Java一样随便复制引用。你这个是对象所有权不清晰的问题。
Java之所以基本上不需要考虑这个问题是因为Java自动管理内存。
g**********t
发帖数: 475
28
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
g**********t
发帖数: 475
29
我有一个似然函数,是用面向对象的方式写的。现在我想用一个别人用c语言写的子程
序来对我的函数进行优化。由于这个子程序是用c写的,只能接受一个函数指针作为参
数。由于这个子程序比较复杂,不想对其做太多改动。请问如何能把我的类对象封装成
函数指针? 用functor吗?
b***i
发帖数: 3043
30
来自主题: Programming版 - 如何让一个指针指向一个多维数组
对,这样也许就是楼主的第三方程序需要的,是动态分配的指针的指针的内存。
而且,这样也不算ugly,这就是标准动态分配二维均可变数组的方法。

c*********e
发帖数: 16335
31
来自主题: Programming版 - C语言高级就高级在指针上
指针的管理非常麻烦,还是java那样好很多。小项目可能没体会,但是,大项目里面没
有指针,专心于business logic,会让programmer省心很多。
b***i
发帖数: 3043
32
来自主题: Programming版 - C语言高级就高级在指针上
指针不就是地址吗?外加一些类型什么的信息。地址初中就可以理解了。计算机体系结
构和汇编语言就是初中的知识而已。指针,最多到高二就可以教了。

C
S**I
发帖数: 15689
33

还是修饰a
还是修饰p
当然只修饰指针的指针了
h*****n
发帖数: 209
34
比如说void *p, 我们可以暂时把它cast成(struct A*)p,然后就可以假定p指向一个A结
构的地址了。但是每次我们这样做都必须加上(struct A*),
指针p本身还是void *的。有没有可能永久性的把p指针变成struct A*类型的呢?
如果C不能,C++是不是可以呢?
N******K
发帖数: 10202
35
p1= new (objectA);
delete p1;
p2= new (objectA);
这时候 p1的值和p2的值是一样的 但是 两个指针代表了两个实例 尽管都属于同一类
这样 IsValid(p2) 会返回 ture 但是 IsValid(p1)也会返回true
如果有一个类似weak_ptr的 但是不用lock 能直接用的智能指针就好了
可以用 shared_ptr() 把deletor 给设置为空操作
其实需要的是 handle_ptr
std::handle_ptr hp(new ObjectA)
std::shared_ptr sp=hp; 就可以进行转换
N******K
发帖数: 10202
36
来自主题: Programming版 - 问个c++ struct和指针问题
有gc了 怎么用指针? 是不是就没指针了
l******h
发帖数: 405
37
&a和&b是指针本身的地址。*a和*b才是指针指向位置的值。
G****A
发帖数: 4160
38
这个&a,&b为啥是”碰上什么是什么“?

int *a,*b; //没有初始化的指针a和b
cout<<&a<<" "<<&b<
A*****i
发帖数: 3587
39
哈哈哈哈,记得当年上学有一个经典笑话
CS女生和男生约会,女生问: 指向指针的指针是什么意思
男生: ……
女生:再见
y**b
发帖数: 10166
40
来自主题: Programming版 - C++含有指针成员的类
通常destructor删除这个指针以释放内存。
但是现在这个指针指向的是一个forward declared的类,结果gcc提示:
neither the destructor nor the class-specific operator delete will be called
, even if they are declared when the class is defined
就是说这种情况无法释放内存?不仅如此,连行为都undefined?
y**b
发帖数: 10166
41
来自主题: Programming版 - C++含有指针成员的类
只是搜个例子说明概念,代码就不深究。
我局部改用了shared_ptr,内存使用略有改进。因为涉及mpi、boost、指针序列化/反
序列化,回头贴点代码请大家看看。
先请教一个常识,main()函数里面有一个循环,每次循环都创建一些shared_ptr(或者
存储这些指针的vector),那么进入下次循环后,上次循环创建的shared_ptr会自动释
放吗?
或者说怎么理解shared_ptr的lifetime
b***i
发帖数: 3043
42
来自主题: Programming版 - C++含有指针成员的类
用forward就是举个例子,防止无限循环构造,难道你要无限循环构造?
要么改成可以控制A一个实例的指针成员生成B实例,B实例的指针成员再生成新的A实例
,但是一定要有个限制。
//.h
class CLB;
class CLA {
private:
int value;
CLB * b;
public:
CLA() {}
CLA(int v, int level);
virtual ~CLA();
};
//.cpp
#include "CLA.h"
#include "CLB.h"
#include
using namespace std;
CLA::CLA(int v, int level) {
value = v;
if (level)
b = new CLB(v - 1, level-1);
else
b = NULL;
}
CLA::~CLA() {
if (b)
delete b;
cout << "done with " < }
编译运行没有任何问题。
还是你CLA 的变量a它的成员指向CLB的变量b,它的成员又指向原... 阅读全帖
p***o
发帖数: 1252
43
来自主题: Programming版 - C++含有指针成员的类
封装好了你操什么心,现在有move语义,智能指针和容器都有优化,再说你不是在问
没完整类型怎么delete吗?
另外直接管理内置指针对新手就是个灾难。能记得写copy ctor/assignment的都算
不错的,写不写得对就另说了,好在C++11里还能delete掉。
p***o
发帖数: 1252
44
来自主题: Programming版 - C++含有指针成员的类
ptr1都reset了, 自然相当于空指针, use_count是0。
你把vector里面那两个指针的use_count打出来就明白了。
y**b
发帖数: 10166
45
与其说MPI可怕,倒不如说C++的内存管理机制复杂,
有些情况使用智能指针可能会好些。
但我个人的经验,智能指针在这种非常复杂的内存操作中,
反而不如人工控制方便。
p***n
发帖数: 344
46
来自主题: Computation版 - [转载] matlab里面移动指针pointer问题
【 以下文字转载自 Science 讨论区,原文如下 】
发信人: plain (拳头底下出孝子), 信区: Science
标 题: matlab里面移动指针pointer问题
发信站: Unknown Space - 未名空间 (Sun Mar 20 19:00:20 2005) WWW-POST
用fopen打开一个binary 文件,想迅速找到(i,j)位置的元素。
虽然可以用fgetl一行一行找,但是好象比较麻烦,因为还要循环语句,还要算好位置。
有没有其他的function可以用来迅速移动指针?类似于 function(i,j)之类的命令
谢谢
y****e
发帖数: 23939
47
什么是指针?
y****e
发帖数: 23939
48
做architect的不会用指针很平常吧
w***u
发帖数: 17713
49
说句实话要真正明白指针的含义,有点汇编基础(寻址方式,数据和内存的储存模式)
才比较容易精通,否则不小心很容易出大乱子,所以现在各个语言干脆放弃了它。
w********r
发帖数: 14958
50
不明白指针,用现在各个语言更容易出乱子。
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)