小编Bra*_* Ds的帖子

第一种和第二种情况有什么区别?

第一个和第二个案例有什么区别,为什么第一个工作按预期工作,而第二个工作没有?(在第二种情况下,我试图引入一个指针,取消引用指针指针,以避免键入额外的星号).

int _tmain(int argc, _TCHAR* argv[])
{
    int* test = NULL;
    foo(&test);
}
Run Code Online (Sandbox Code Playgroud)

情况1:

void foo(int** ppPar)
{
    *ppPar = (int*)malloc(sizeof(int));
    **ppPar = 7;
}
Run Code Online (Sandbox Code Playgroud)

案例2:

void foo(int** ppPar)
{
    int* pPar = *ppPar;
    pPar = (int*)malloc(sizeof(int));
    *pPar = 6;
}
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
1
解决办法
110
查看次数

标题和函数原型的最佳策略

在C中相对较新,我需要完成自己的大型C项目..所以我将定义风格.我想弄清楚什么是与标题和函数原型达成协议的最佳策略.我一直在寻找信息..但一切看起来都很模糊.

所以我问道.您在大型C项目中的经验有什么更好的方法?

  1. 有一个带有函数原型的大标题,并且在我添加函数时包含所有原型+可能是,结构声明的单独标题+一些具有结构实现的*.c文件,其中类似的函数将被分组.

  2. 有单独的头文件(foo.h)文件,包含每个*.c文件的原型和结构声明(foo.c)

  3. 尝试通过使用一个巨大的*.c文件来最小化原型使用,并且不断地相对于彼此移动功能,以便在可能的情况下完全避免原型?

c

2
推荐指数
1
解决办法
60
查看次数

如何保证Windows下异步写入文件的顺序?

鉴于此伪代码:

  1. 打开异步访问文件
  2. 写入Value1文件末尾位置
  3. 写入Value2文件结尾,与2相同的线程.

我可以肯定以前Value1一直存在,Value2我怎样才能避免竞争条件?

io winapi asynchronous

2
推荐指数
1
解决办法
169
查看次数

有没有像bits_in_byte(8)这样的常量?

C/C++标准常量是否反映了一个字节(8)中有多少位?类似于CHAR_BIT,但是用于字节.

c c++ byte constants bit

2
推荐指数
1
解决办法
211
查看次数

Azure 存储是如何实施的?

Microsoft Azure 开发人员是否实现了一些新的文件系统(这是一项艰巨的工作),或者他们包装了现有的文件系统(如 ntfs)以使 Azure 文件存储、Blob 等工作?

azure azure-storage azure-blob-storage

2
推荐指数
1
解决办法
552
查看次数

什么时候我们应该使用公共和私人?

当我们实现现在不在我们团队解决方案中的其他类使用的方法时,Access Modifier应该是Public还是Private?我相信"公众成员说这个成员代表了这个对象提供的关键,记录的功能." 我们只使用私有的"实现细节"方法和所有可能在将来有用的方法我们应该公开,即使现在我们的方法在其他类中没有消费者.但我的对手说这种方法应该是私人的.你怎么想?

补充:让我们更具体一点.例如,有一个类SqlHelper.其中有一些用于SQL Server操作的有用功能.特别是使用了与SQL服务器的连接.但不仅仅是在那个班级.

例如,我需要实现公共静态HandleSqlExeption方法(现在仅用于类SqlHelper),它将处理SqlExeptions.但是我希望在所有在异常处理中都有SQL连接操作的类中使用此方法(而不是它很简单,例如:catch(Exception){MsgBox {"SqlError"};就像现在发生的那样.所以我认为公共访问修饰符会告诉其他同事他们可以使用这种方法.而私有将隐藏该方法.如果有人要求使用tsuch方法,我将需要ti更改代码并重新组装.为什么?只有底片.

.net c# coding-style

1
推荐指数
1
解决办法
202
查看次数

带滑块绑定的TranslateTransform不起作用

无法理解为什么Translatetransform绑定不起作用.我有3个滑块 - 一个用于缩放,2个用于x和y变换(我将圆圈作为Canvas代码中的子元素).

我在XAML下面使用:

<Window x:Class="Visualizer.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" WindowState="Maximized" WindowStartupLocation="CenterScreen" ResizeMode="NoResize">
    <Canvas HorizontalAlignment="Stretch" Margin="0,0,0,0" VerticalAlignment="Stretch" Name="MainCanvas" >
        <Canvas HorizontalAlignment="Stretch" Margin="0,0,0,0" VerticalAlignment="Stretch" Name="OperatorsCanvas" >
            <ContentControl x:Name="OperatorsContent"/>
            <Canvas.LayoutTransform>
                <TransformGroup>
                    <ScaleTransform 
                    CenterX="0" 
                    CenterY="0"
                    ScaleX="{Binding ElementName=ScaleSlider,Path=Value}"
                    ScaleY="{Binding ElementName=ScaleSlider,Path=Value}"
                    />
                    <TranslateTransform X="{Binding ElementName=TranslateXSlider,Path=Value}" Y="{Binding ElementName=TranslateYSlider,Path=Value}" />
                </TransformGroup>
            </Canvas.LayoutTransform>
        </Canvas>
        <Slider Canvas.Right="5" Width="154" Canvas.Top="5" HorizontalAlignment="Right" Name="ScaleSlider" ToolTip="Determines the UI scale factor."
                    Value="1" Minimum="0.1" Maximum="4"/>
        <Slider Canvas.Bottom="0" Width="762"  HorizontalAlignment="Stretch" Name="TranslateXSlider" Value="0" Minimum="-20" Maximum="20"/>
        <Slider Canvas.Right="0" Canvas.Top="282" Width="423" RenderTransformOrigin="0.494,0.455" Height="16" Name="TranslateYSlider"  Value="0" Minimum="-20" …
Run Code Online (Sandbox Code Playgroud)

c# wpf canvas slider

1
推荐指数
1
解决办法
740
查看次数

内存初始化/删除是如此耗时吗?

我有一个小类Entity,有一些int字段和字段,是50个整数的二维数组.没什么特别的.

我生成了很多(数百万个这样的实体),每个实体都不同:数组不同,字段不同.令我惊讶的是,我发现每次不创建新实体并且只重用存在并且仅将字段和数组设置为0时,速度提高了2倍.内存初始化/删除是如此耗时吗?

c++ compiler-construction constructor initialization

1
推荐指数
1
解决办法
158
查看次数


调试打印的MS标志中的奇怪值

我在Microsoft驱动程序代码示例中看到调试跟踪标志:

#define DEBUG_TRACE_ERROR                           0x00000001  // Errors - whenever we return a failure code
#define DEBUG_TRACE_LOAD_UNLOAD                     0x00000002  // Loading/unloading of the filter
#define DEBUG_TRACE_INSTANCES                       0x00000004  // Attach / detatch of instances

#define DEBUG_TRACE_METADATA_OPERATIONS             0x00000008  // Operation to access / modify in memory metadata

#define DEBUG_TRACE_ALL_IO                          0x00000010  // All IO operations tracked by this filter

#define DEBUG_TRACE_INFO                            0x00000020  // Misc. information

#define DEBUG_TRACE_ALL                             0xFFFFFFFF  // All flags
Run Code Online (Sandbox Code Playgroud)

据我所知,标志应该是2的功率(如1,2,4,8,16,32)不相交.但是为什么DEBUG_TRACE_ALL_IO是10而DEBUG_TRACE_INFO 是20而不是16&32?

c c++ flags

1
推荐指数
1
解决办法
44
查看次数