if they don't strip search you it is fine. however, there is no 小熊猫烟 at 上海机场免税店 (international arrival) All of the foreign cigarettes are so cheap there, about 90 RMB a carton.
s*2
12 楼
不在NYC,挨个问需要太多的时间。
t*t
13 楼
you should ask the original author why he used char**. usually string is declared as char*, or const char*. you can consider char** as pointer to string, whether that makes sense to you is beyond my knowledge. but pointer to string is a completely different creature from string.
let me try to answer you this. This would be like, in your example, a struct manage multiple "Connections." Struct A a; a.numberConnections=1; a.ConnectionsName[0]="CName1"; //mem allocation and str copy ommited a.ConnecttionDesc[0]="first Connections"; When you have more than one connections. then ; a.numberConnections++; a.Connectionsnames[a.numberConnections-1] ="secondName"; a.ConnectionDesc[a.numberConnections-1]="Second Description here"; So char ** here is for maintain multiple c-string. You treat it as a 2-D string. but , be careful memory allocations in each string is different size(depends on the size of each string.) how it works in C#, I dont know. anyone?
here is an example: [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] struct MyStruct { public static readonly int SizeOf = Marshal.SizeOf(typeof(MyStruct)); [MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 256)] public string name; [MarshalAs(System.Runtime.InteropServices.UnmanagedType.I4)] public int value; }
N*n
16 楼
Make sure no C++ exceptions ever get thrown into the C# runtime, or your app could mysteriously crash. One problem of mixed-mode apps.