Как я могу программно протестировать на cookie?

Значение reinterpret_cast не определяется стандартом C++. Следовательно, в теории a reinterpret_cast мог разрушить Вашу программу. В практике компиляторы пытаются сделать то, что Вы ожидаете, который должен интерпретировать биты того, что Вы являетесь передающими в том, как будто они были типом, к которому Вы бросаете. Если Вы знаете то, что компиляторы, которые Вы собираетесь использовать, делают с reinterpret_cast, можно использовать его, но сказать, что это портативно , легло бы.

Для случая Вы описываете, и в значительной степени любой случай, где Вы могли бы рассмотреть reinterpret_cast, можно использовать static_cast или некоторая другая альтернатива вместо этого. Среди прочего стандарт говорит следующее о том, что можно ожидать static_cast (В§5.2.9):

rvalue типа “pointer к условной цене void” может быть явно преобразован в указатель на тип объекта. Значение указателя типа на объект, преобразованный в “pointer к условной цене void” и назад в исходный тип указателя, будет иметь свое исходное значение.

Так для Вашего варианта использования, кажется довольно ясным, что комитет по стандартизации намеревался для Вас использовать static_cast.

9
задан Cœur 21 January 2019 в 10:07
поделиться

3 ответа

Из MSDN

Один из способов определить, принимаются ли файлы cookie: попытавшись записать файл cookie, а затем попытаться прочитать его снова. Если вы не можете прочитать файл cookie, который вы написали, вы предполагаете, что файлы cookie отключены в браузере.

напишите:

Sub Page_Load()
   If Not Page.IsPostBack Then
      If Request.QueryString("AcceptsCookies") Is Nothing Then
           Response.Cookies("TestCookie").Value = "ok"
           Response.Cookies("TestCookie").Expires = _
              DateTime.Now.AddMinutes(1)
           Response.Redirect("TestForCookies.aspx?redirect=" & _
              Server.UrlEncode(Request.Url.ToString))
      Else
           labelAcceptsCookies.Text = "Accept cookies = " & _
              Request.QueryString("AcceptsCookies")
      End If
   End If
End Sub

затем прочтите

Sub Page_Load()
    Dim redirect As String = Request.QueryString("redirect")
    Dim acceptsCookies As String
    ' Was the cookie accepted?
    If Request.Cookies("TestCookie") Is Nothing Then
        ' No cookie, so it must not have been accepted
        acceptsCookies = 0
    Else
        acceptsCookies = 1
        ' Delete test cookie
        Response.Cookies("TestCookie").Expires = _
           DateTime.Now.AddDays(-1)
    End If
    Response.Redirect(redirect & "?AcceptsCookies=" & acceptsCookies, _
       True)
End Sub
16
ответ дан 4 December 2019 в 12:20
поделиться

Сохраните значение в куки, сделайте перенаправление на какую-либо страницу и попытайтесь прочитать значение обратно. Если это работает, файлы cookie включены. Если нет, то нет.

1
ответ дан 4 December 2019 в 12:20
поделиться
  1. создать один
  2. попытаться прочитать его?
0
ответ дан 4 December 2019 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: