MindScape

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  44 随笔 :: 17 文章 :: 48 评论 :: 4 引用

最新评论

Re:老调重弹:const char*, char const* and char *const 编程是一个好职业 2010-10-14 11:31  
[quote]c++ programer:--引用-------------------------------------------------- <br/>kmy: --引用-------------------------------------------------- <br/>gibbon: 那么 <br/>char * const * p; <br/>应该如何理解呢?? <br/>-------------------------------------------------------- <br/>我也想知道 <br/>-------------------------------------------------------- <br/>根据上面的原则,应该读作 <br/>p is a pointer to a const pointer to char <br/>也就是说p是一个指针,它指向一个常量指针,这个常量指针指向字符型变量。 <br/>不知博主认为是否正确[/quote] p为一个 指向字符串的指针常量 的指针
我最近在做个程序正好遇到类似你这个问题,我上网查了很多资料,也实验了很多天,你的文章彻底解决我的问题,在这里非常感谢你
Rectangle outerBounds = new Rectangle(rect.Left - 1, rect.Top - 1, rect.Width + 1, rect.Height + 1); 实验证明这句话应该改为Rectangle outerBounds = new Rectangle(rect.Left - 1, rect.Top + 1, rect.Width + 1, rect.Height + 1);
字符串常量和常量字符串 主语不同啊!
--引用--------------------------------------------------
kmy: --引用--------------------------------------------------
gibbon: 那么
char * const * p;
应该如何理解呢??
--------------------------------------------------------
我也想知道
--------------------------------------------------------
根据上面的原则,应该读作
p is a pointer to a const pointer to char
也就是说p是一个指针,它指向一个常量指针,这个常量指针指向字符型变量。
不知博主认为是否正确
--引用--------------------------------------------------
gibbon: 那么
char * const * p;
应该如何理解呢??
--------------------------------------------------------
我也想知道
那么
char * const * p;
应该如何理解呢??
re: [GDI+]DrawRectangle和FillRectangle,细节决定成败 无锡软件公司 2008-10-27 10:51  
最近在做一个项目的时候也发现了这样的问题,正不知道微软为什么这么设计?
因正在赶一些项目,项目里需要用到自绘界面相关的东东,不知道楼主有没有相关的可供参考的源代码,能不能发一些给我。如果不可以,那也没有关系。
先谢了。

EMail:43156150@qq.com
这两个功能我都有实现,都是同样问题,总是觉得鼠标和窗口不能完全贴在一起(鼠标和窗口attach).
感謝你呀~~~

這是我看過最清楚的講解也不過了~"~

搞懂好久就想問的東西了~~謝謝你囉^^
re: .Net下进程外COM服务器的实现 Jonny Yu 2007-07-19 22:41  
@Kable
不知道啊,我对COM也是不太懂的,只是由于项目需要就钻研了一下COM本质论,至于DCOM我就还没看了。不过估计原理也是类似的,如果你有关于DCOM的C++下编程的资料我可以想一下。
看了此文有点体会,请问如何用C#创建一个DCOM服务呢?
好~
re: .Net下进程外COM服务器的实现 学海无涯,回头是岸 2007-07-06 08:45  
不错,回头试试
re: 就差一点点-微妙的强制类型转换 我主沉浮 2007-01-16 01:48  
dotUnit报错, expected value 192, 191 was got.
但是如果这样写就对了。
float scale = 0.24f;
int actualWidth = 800;
float widthf = actualWidth * scale; // 这里是192.0
int width = (int)widthf; //这样就是192了。

太遗憾了,竟然在VC6里边,上边的 width = 191 !!!!!

付了
re: VS2005使用体验 Smartkk 2006-05-10 11:33  
好。
支持!加油!
re: About HDC Ying-Shen 2006-05-05 10:43  
Programming Windows, Charles Petzold.
re: About HDC 海盗船长 2006-05-04 23:29  
写得很好啊,我正好需要,请问这是从哪本书看到的,能告诉我吗?我的qq是419428658
const char ** p

p 是一个指针,指向一个 指向char的指针,这个指向char的指针所指向的内容不可改变

#define null 0
void test()
{
const char **p;
p=null;
*p=null;
**p=null; // error
}

xxx.c: In function `test':
xxx.c:7: error: assignment of read-only location
第一次强制类型转换会不会是actualWidth*scale的类型为float不能直接转换的缘故呢?当加上先加上float,后加上int时就通过了。
re: 就差一点点-微妙的强制类型转换 游民一族 2005-11-10 12:20  
确实比较奇怪, 看生成的il也只是多了一个stloc和ldloc, 不知道有什么作用, 不过从调试器上看, 第一个的width居然是191而不是192!

下面的代码却是没问题的:
double scale = 0.24; // double, but not float
int actualWidth = 800;
int width = (int)(actualWidth * scale);
Console.WriteLine(width == 192);
re: VS2005使用体验 beenway 2005-10-31 08:27  
加油啊
re: VS2005使用体验 beenway 2005-10-31 08:27  
加油
const char **是什么意思?
在C++标准中一个char * 的指针能不能赋值给const const char **?
easier to understand
re: How to set IE proxy using VB.NET 阿良.NET 2005-08-26 18:32  
有没有C#版本?
Great!
请问如要通过DOM获得另一个.net Control(如DemoControl),调用其方法,该如何实现?
谢谢!!!
re: MSN spoof mail abdulkadir_saday@hotmail.com 2005-07-14 23:58  
dsafdsafasd fa
Teknoloji Yarismasi - Infomatrix someone@xoccee.com 2005-07-14 23:57  
deneme mesajii
re: java和C#在嵌套类上的差异 lightgone@msn.com 2005-07-07 23:37  
是因为在C#中提供的不是直接的访问方式,而是要通过将外类的对象通过this这样的方式传入到嵌套类中,就可以在嵌套类内创建一个外类的实例,通过这个实例的方法来访问外类的成员。
你那样的说法,抹煞了嵌套类的用途。
嗯,在读了你的回复后,我觉得你的意思和我是一样的。
下面定义的一个指向字符串的常量指针:

  char * const prt1 = stringprt1;

  其中,ptr1是一个常量指针。因此,下面赋值是非法的。

  ptr1 = stringprt2;

  而下面的赋值是合法的:

  *ptr1 = "m";

  因为指针ptr1所指向的变量是可以更新的,不可更新的是常量指针ptr1所指的方向(别的字符串)。

  下面定义了一个指向字符串常量的指针:

  const * ptr2 = stringprt1;

  其中,ptr2是一个指向字符串常量的指针。ptr2所指向的字符串不能更新的,而ptr2是可以更新的。因此,

  *ptr2 = "x";

  是非法的,而:

  ptr2 = stringptr2;

  是合法的。

  所以,在使用const修饰指针时,应该注意const的位置。定义一个指向字符串的指针常量和定义一个指向字符串常量的指针时,const修饰符的位置不同,前者const放在*和指针名之间,后者const放在类型说明符前。
re: First day in Hanna. Eva Wang 2005-05-12 12:07  
事业有成比较有希望,
找个好mm目前看来难度有点大 ^_^。
GG加油哦。

re: First day in Hanna. interma 2005-05-10 23:00  
祝老大你在上海事业有成,娶个好mm
:-)
re: First day in Hanna. Eva Wang 2005-05-10 19:19  
这位GG,拜托写的详细点啊。
re: java和C#在嵌套类上的差异 xxc1981 2005-02-02 18:35  
可以用别的方法替代,下面是我想的,根据不同的情况应当也有别的方法.

public class A
{
B b;
private string OuterString="asd";
public A()
{
this.b=new B(this);
}

private class B
{
A father;
public B(A father)
{
this.father=father;
}
public void Add()
{
Console.WriteLine(father.OuterString);

}
}
}
re: How to set IE proxy using VB.NET sumitcelly@yahoo.com 2005-01-11 04:43  
Do you know how to retrieve per connection internet options(INTERNET_OPTION_PER_CONNECTION_OPTION) using C# or .NET?
If you do could e-mail me the code for that to sumitcelly@yahoo.com.
I found your above code very useful.

re: How to set IE proxy using VB.NET 2066 2004-11-12 09:02  
以上代码好像不行,
我把setProxy改写为:

Private Function SetProxy(ByVal strProxy As String, ByVal local As String) As Boolean

Dim bReturn As Boolean

Dim list As New INTERNET_PER_CONN_OPTION_LIST

Dim dwBufSize As Integer = Marshal.SizeOf(list)

Dim opts(3) As INTERNET_PER_CONN_OPTION

Dim opt_size As Integer = Marshal.SizeOf(opts(0))

Debug.WriteLine("sizeof(option) " + opt_size.ToString)



list.dwSize = dwBufSize

list.pszConnection = ControlChars.NullChar

list.dwOptionCount = 3

Debug.WriteLine("sizeof list " + dwBufSize.ToString())



'set flags

opts(0).dwOption = MyOptions.INTERNET_PER_CONN_FLAGS

opts(0).dwValue = MyOptions.PROXY_TYPE_DIRECT Or MyOptions.PROXY_TYPE_PROXY

'set proxyname

opts(1).dwOption = MyOptions.INTERNET_PER_CONN_PROXY_SERVER

opts(1).pszValue = Marshal.StringToHGlobalAnsi(strProxy)



'set override

opts(2).dwOption = MyOptions.INTERNET_PER_CONN_PROXY_BYPASS

opts(2).pszValue = Marshal.StringToHGlobalAnsi(local)





Dim b(3 * opt_size) As Byte

opts(0).GetBytes().CopyTo(b, 0)

opts(1).GetBytes().CopyTo(b, opt_size)

opts(2).GetBytes().CopyTo(b, 2 * opt_size)



Dim ptr As IntPtr = Marshal.AllocCoTaskMem(3 * opt_size)

Marshal.Copy(b, 0, ptr, 3 * opt_size)



list.pOptions = ptr



'set the options on the connection

bReturn = InternetSetOption(IntPtr.Zero, MyOptions.INTERNET_OPTION_PER_CONNECTION_OPTION, list, dwBufSize)

If Not bReturn Then

Debug.WriteLine(GetLastError)

End If

Marshal.FreeHGlobal(opts(1).pszValue)

Marshal.FreeHGlobal(opts(2).pszValue)

Marshal.FreeCoTaskMem(ptr)

Return bReturn

End Function



再调用,

Dim bol As Boolean = SetProxy("206.78.29.149:3128", "206.78.29.149:3128")
If bol = True Then
MsgBox("true")
Else
MsgBox("false")
End If

WB.Navigate("http://www.pwsite.net/ip/index.asp")

proxy还是没有变。请教以上代码有什么问题吗
re: VS.NET中的CodeSnippet scott 2004-11-05 12:53  
and then, how to view and edit toolbox.tbd
very very good,要是我早看到你这篇文章就好拉。。。。。。。。。。。。。。。^_^
re: VS.NET中的CodeSnippet Felix Wang 2004-08-28 00:26  
嘿嘿,我也找到这里了……
谢谢,偶最近也在关心这个问题 :)
O,That's exactly what I want. Hahahaha!

Up in crazy!!!!!!!!!!!!!!!!!!
好文章
re: Why not work at run-time? dudu 2004-02-20 22:08  
学习!
有见地...